架构行集 - SQL Server Native Client 中的分布式查询支持

适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics 平台系统(PDW)

重要

已从 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除 SQL Server Native Client(通常缩写为 SNAC)。 不建议在新的开发工作中使用 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)