为了支持 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。目录 将输出限制为命名链接服务器的适用目录。
| 架构行集 | 目录限制 |
|---|---|
| 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 数据源的列表。