本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從 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.schemas2>
GO此查詢會傳回 SQL Server 和 Aurora PostgreSQL 系統結構描述,如下所示。
name --------------------------------------------------------- demographic_dbo public sys master_dbo tempdb_dbo ...
使用
psql
或 查詢 PostgreSQL 連接埠pgAdmin
。此範例使用psql
清單結構描述中繼命令 (\dn
):babelfish_db=>
\dn查詢會傳回與 T 連接埠
sqlcmd
SQL上由 傳回的相同結果集。List of schemas Name ------------------------------ demographic_dbo public sys master_dbo tempdb_dbo ...
SQL Babelfish 中可用的伺服器系統目錄
在下表中,您可以找到目前在 Babelfish 中實作的SQL伺服器檢視。如需有關SQL伺服器中系統目錄的詳細資訊,請參閱 Microsoft 文件中的系統目錄檢視 (Transact-SQL)
檢視表名稱 | 描述或 Babelfish 限制 (如果有) |
---|---|
|
所有資料表和檢視表中的所有資料欄 |
|
所有結構描述中的所有物件 |
|
|
|
所有結構描述中的所有檢視表 |
|
使用者定義的資料表和檢視表中的所有資料欄 |
|
Babelfish 支援限於單個唯讀組態。 |
|
每個資料空間包含一列。這可以是檔案群組、分割區配置或FILESTREAM資料檔案群組。 |
|
此各資料庫檢視中的每一列代表資料庫中的每一個檔案,如同儲存在資料庫本身中。 |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.database_mirroring |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.database_principals |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.database_role_members |
|
所有結構描述中的所有資料庫 |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.dm_exec_connections |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.dm_exec_sessions |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.dm_hadr_database_replica_states |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.dm_os_host_info |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.endpoints |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.indexes |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.languages |
|
所有結構描述 |
|
所有登入和角色 |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.sql_modules |
|
Babelfish 支援限於單個唯讀組態。 |
|
Babelfish 支援限於單個唯讀組態。 |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.sysprocesses |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.system_sql_modules |
|
如需詳細資訊,請參閱 Microsoft Transact-SQL 文件中的 sys.table_types |
|
所有結構描述中的所有資料表 |
|
如需詳細資訊,請參閱 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。