Share via


架構資料列集 - SQL Server Native Client 中的分散式查詢支援

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics 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 資料來源清單。

另請參閱

結構描述資料列集支援 (OLE DB)
LINKEDSERVERS 資料列集 (OLE DB)