從 Babelfish 系統目錄取得資訊 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從 Babelfish 系統目錄取得資訊

您可以查詢許多與SQL伺服器相同的系統檢視,以取得儲存在 Babelfish 叢集中的資料庫物件相關資訊。Babelfish 的每個新版本都增加對對更多系統檢視的支援。如需目前可用的可用檢視清單,請參閱 SQL Server system catalog views 資料表。

這些系統檢視會提供來自系統目錄 (sys.schemas) 的資訊。在 Babelfish 中,這些檢視包含 SQL Server 和 PostgreSQL 系統結構描述。若要查詢 Babelfish 的系統目錄資訊,您可以使用TDS連接埠或 PostgreSQL 連接埠,如下列範例所示。

  • 使用 sqlcmd或其他 SQL Server 用戶端 查詢 T 連接埠SQL

    1> SELECT * FROM sys.schemas 2> GO

    此查詢會傳回 SQL Server 和 Aurora PostgreSQL 系統結構描述,如下所示。

    name --------------------------------------------------------- demographic_dbo public sys master_dbo tempdb_dbo ...
  • 使用 psql或 查詢 PostgreSQL 連接埠pgAdmin。此範例使用 psql 清單結構描述中繼命令 (\dn):

    babelfish_db=> \dn

    查詢會傳回與 T 連接埠sqlcmdSQL上由 傳回的相同結果集。

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

SQL Babelfish 中可用的伺服器系統目錄

在下表中,您可以找到目前在 Babelfish 中實作的SQL伺服器檢視。如需有關SQL伺服器中系統目錄的詳細資訊,請參閱 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伺服器物件目錄檢視類似的系統目錄。如需系統目錄的完整清單,請參閱 PostgreSQL 文件中的系統目錄

DDL Babelfish 支援的匯出

從 Babelfish 2.4.0 和 3.1.0 版本,Babelfish 支援使用各種工具DDL匯出。例如,您可以從 SQL Server Management Studio (SSMS) 使用此功能來產生 Babelfish for Aurora PostgreSQL 資料庫中各種物件的資料定義指令碼。然後,您可以使用此指令碼中產生的DDL命令,在另一個 Babelfish for Aurora PostgreSQL 或SQL伺服器資料庫中建立相同的物件。

Babelfish DDL 支援匯出指定版本中的下列物件。

物件清單 2.4.0 3.1.0
使用者資料表
主索引鍵
外部索引鍵
唯一限制條件
索引
檢查限制
檢視
預存程序
使用者定義的函數
資料表值函數
觸發
使用者定義的資料類型
使用者定義的資料表類型
使用者
登入
序列
角色

匯出的限制 DDLs

  • 在使用匯出的物件重新建立物件之前,請使用逃生艙 DDLs – Babelfish 不支援匯出DDL指令碼中的所有命令。使用逸出艙門,以避免從 Babelfish 中的DDL命令重新建立物件時發生錯誤。如需有關逃生艙的詳細資訊,請參閱 使用逃生艙管理 Babelfish 錯誤處理

  • 包含具有明確COLLATE子句CHECK限制的物件 – 從SQL伺服器資料庫產生具有這些物件的指令碼具有與 Babelfish 資料庫中不同但同等的定序。有些定序是最近的 Windows 定序,例如 sql_latin1_general_cp1_cs_as, sql_latin1_general_cp1251_cs_as 或 latin1_general_cs_as are generated as latin1_general_cs_as。