Babelfish 시스템 카탈로그에서 정보 얻기 - Amazon Aurora

Babelfish 시스템 카탈로그에서 정보 얻기

SQL Server에서 사용되는 것과 동일한 여러 시스템 뷰를 쿼리하여 Babelfish 클러스터에 저장된 데이터베이스 객체에 대한 정보를 얻을 수 있습니다. Babelfish의 새로운 릴리스마다 더 많은 시스템 뷰를 지원합니다. 현재 사용할 수 있는 뷰 목록은 SQL Server system catalog views 테이블을 참조하세요.

이러한 시스템 뷰는 시스템 카탈로그(sys.schemas)의 정보를 제공합니다. Babelfish의 경우 이러한 뷰에는 SQL Server 및 PostgreSQL 시스템 스키마가 모두 포함되어 있습니다. Babelfish에서 시스템 카탈로그 정보를 쿼리하려면 다음 예와 같이 TDS 포트 또는 PostgreSQL 포트를 사용할 수 있습니다.

  • sqlcmd를 사용하여 T-SQL 포트를 쿼리하거나 다른 SQL Server 클라이언트를 쿼리합니다.

    1> SELECT * FROM sys.schemas 2> GO

    이 쿼리는 다음과 같이 SQL Server 및 Aurora PostgreSQL 시스템 스키마를 반환합니다.

    name --------------------------------------------------------- demographic_dbo public sys master_dbo tempdb_dbo ...
  • psql 또는 pgAdmin을 사용하여 PostgreSQL 포트를 쿼리합니다. 이 예에서는 psql 목록 스키마 메타 명령(\dn)을 사용합니다.

    babelfish_db=> \dn

    쿼리는 sqlcmd에서 T-SQL 포트에 반환한 것과 동일한 결과 세트를 반환합니다.

    List of schemas Name ------------------------------ demographic_dbo public sys master_dbo tempdb_dbo ...

Babelfish에서 사용할 수 있는 SQL Server 시스템 카탈로그

다음 테이블에서는 Babelfish에 현재 구현된 SQL Server 뷰를 확인할 수 있습니다. SQL Server의 시스템 카탈로그에 대한 자세한 내용은 Microsoft 설명서의 시스템 카탈로그 뷰(Transact-SQL)를 참조하세요.

뷰 이름 설명 또는 Babelfish 제한(있는 경우)

sys.all_columns

모든 테이블 및 뷰의 모든 열

sys.all_objects

모든 스키마의 모든 객체

sys.all_sql_modules

sys.sql_modulessys.system_sql_modules 연합

sys.all_views

모든 스키마의 모든 뷰

sys.columns

사용자 정의 테이블 및 뷰의 모든 열

sys.configurations

Babelfish 지원은 단일 읽기 전용 구성으로 제한됩니다.

sys.data_spaces

각 데이터 공간에 대한 행이 포함됩니다. 파일 그룹, 파티션 구성표 또는 FILESTREAM 데이터 파일 그룹이 될 수 있습니다.

sys.database_files

데이터베이스 자체에 저장된 데이터베이스의 각 파일에 대해 하나의 행이 포함된 데이터베이스별 뷰입니다.

sys.database_mirroring

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.database_mirroring을 참조하세요.

sys.database_principals

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.database_principals를 참조하세요.

sys.database_role_members

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.database_role_members를 참조하세요.

sys.databases

모든 스키마의 모든 데이터베이스

sys.dm_exec_connections

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.dm_exec_connections를 참조하세요.

sys.dm_exec_sessions

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.dm_exec_sessions를 참조하세요.

sys.dm_hadr_database_replica_states

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.dm_hadr_database_replica_states를 참조하세요.

sys.dm_os_host_info

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.dm_os_host_info를 참조하세요.

sys.endpoints

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.endpoints를 참조하세요.

sys.indexes

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.indexes를 참조하세요.

sys.languages

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.languages를 참조하세요.

sys.schemas

모든 스키마

sys.server_principals

모든 로그인 및 역할

sys.sql_modules

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.sql_modules를 참조하세요.

sys.sysconfigures

Babelfish 지원은 단일 읽기 전용 구성으로 제한됩니다.

sys.syscurconfigs

Babelfish 지원은 단일 읽기 전용 구성으로 제한됩니다.

sys.sysprocesses

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.sysprocesses를 참조하세요.

sys.system_sql_modules

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.system_sql_modules를 참조하세요.

sys.table_types

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.table_types를 참조하세요.

sys.tables

스키마의 모든 테이블

sys.xml_schema_collections

자세한 내용은 Microsoft Transact-SQL 설명서의 sys.xml_schema_collections를 참조하세요.

PostgreSQL은 SQL Server 객체 카탈로그 뷰와 유사한 시스템 카탈로그를 구현합니다. 전체 시스템 카탈로그 목록은 PostgreSQL 설명서의 시스템 카탈로그를 참조하세요.

Babelfish에서 지원되는 DDL 내보내기

Babelfish 2.4.0 및 3.1.0 버전의 경우 Babelfish는 다양한 도구에서 DDL 내보내기를 지원합니다. 예를 들어, SQL Server Management Studio(SSMS)에서 이 기능을 사용하여 Babelfish for Aurora PostgreSQL 데이터베이스의 다양한 객체에 대한 데이터 정의 스크립트를 생성할 수 있습니다. 그런 다음, 이 스크립트에서 생성된 DDL 명령을 사용하여 다른 Babelfish for Aurora PostgreSQL 또는 SQL Server 데이터베이스에서 동일한 객체를 생성할 수 있습니다.

Babelfish는 지정된 버전에서 다음과 같은 객체에 대한 DDL 내보내기를 지원합니다.

객체 목록 2.4.0 3.1.0
사용자 테이블
기본 키
외래 키
고유한 제약 조건
인덱스
제약 조건 확인
보기
저장 프로시저
사용자 정의 함수
테이블 값 함수
트리거
사용자 정의 데이터 형식 아니요아니요
사용자 정의 테이블 유형 아니요아니요
사용자 아니요아니요
로그인 아니요아니요
시퀀스 아니요아니요
역할 아니요아니요

내보낸 DDL의 제한 사항

  • 내보낸 DDL을 사용하여 객체를 다시 생성하기 전에 이스케이프 해치 사용 - Babelfish는 내보낸 DDL 스크립트의 모든 명령을 지원하지는 않습니다. Babelfish의 DDL 명령에서 객체를 다시 생성할 때 발생하는 오류를 방지하려면 이스케이프 해치를 사용하세요. 이스케이프 해치에 대한 자세한 내용은 이스케이프 해치를 사용하여 Babelfish 오류 처리 관리 단원을 참조하세요.

  • 명시적 COLLATE 절과 함께 CHECK 제약 조건을 포함하는 객체 - SQL Server 데이터베이스에서 생성된 이러한 객체가 포함된 스크립트는 Babelfish 데이터베이스와 같이 서로 형태는 다르지만 동일한 데이터 정렬을 사용합니다. 예를 들어 sql_latin1_general_cp1_cs_as, sql_latin1_general_cp1251_cs_as 및 latin1_general_cs_as 같은 몇 가지 데이터 정렬은 가장 가까운 Windows 데이터 정렬인 latin1_general_cs_as로 생성됩니다.