為了支援 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 數據源清單。