架構數據列集 - SQL Server Native Client 中的分散式查詢支援
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
重要
SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client OLE DB 提供者 (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的開發。 請切換至新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 以繼續使用。
為了支援 SQL Server 分散式查詢,SQL Server Native Client OLE DB 提供者 IDBSchemaRowset 介面會傳回連結伺服器上的元數據。
如果 DBPROPSET_SQLSERVERSESSION 屬性 SSPROP_QUOTEDCATALOGNAMES 是 VARIANT_TRUE,您就可以針對目錄名稱指定引號識別碼 (例如 "my.catalog")。 依目錄限制架構數據列集輸出時,SQL Server Native Client OLE DB 提供者會辨識包含連結伺服器和目錄名稱的兩部分名稱。 對於下表中的結構描述資料列集而言,將兩部分目錄名稱指定為 linked_server.catalog,可將輸出限制為具名連結伺服器的適用目錄。
結構描述資料列集 | 目錄限制 |
---|---|
DBSCHEMA_CATALOGS | CATALOG_NAME |
DBSCHEMA_COLUMNS | TABLE_CATALOG |
DBSCHEMA_PRIMARY_KEYS | TABLE_CATALOG |
DBSCHEMA_TABLES | TABLE_CATALOG |
DBSCHEMA_FOREIGN_KEYS | PK_TABLE_CATALOG FK_TABLE_CATALOG |
DBSCHEMA_INDEXES | TABLE_CATALOG |
DBSCHEMA_COLUMN_PRIVILEGES | TABLE_CATALOG |
DBSCHEMA_TABLE_PRIVILEGES | TABLE_CATALOG |
注意
若要將架構數據列集限制為鏈接伺服器的所有目錄,請使用語法 linked_server (其中句號分隔符是名稱規格的一部分)。 這個語法相當於針對目錄名稱限制指定 NULL,而且也會在連結的伺服器指出不支援目錄的資料來源時使用。
SQL Server Native Client OLE DB 提供者會定義架構數據列集 LINKEDSERVERS,並傳回註冊為鏈接伺服器的 OLE DB 數據源清單。