Schema Rowsets - Distributed Query Support in SQL Server Native Client

Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Important

The SQL Server Native Client (often abbreviated SNAC) has been removed from SQL Server 2022 (16.x) and SQL Server Management Studio 19 (SSMS). Both the SQL Server Native Client OLE DB provider (SQLNCLI or SQLNCLI11) and the legacy Microsoft OLE DB Provider for SQL Server (SQLOLEDB) are not recommended for new development. Switch to the new Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server going forward.

To support SQL Server distributed queries, the SQL Server Native Client OLE DB provider IDBSchemaRowset interface returns metadata on linked servers.

If the DBPROPSET_SQLSERVERSESSION property SSPROP_QUOTEDCATALOGNAMES is VARIANT_TRUE, a quoted identifier can be specified for the catalog name (for example "my.catalog"). When restricting schema rowset output by catalog, the SQL Server Native Client OLE DB provider recognizes a two-part name containing the linked server and catalog name. For the schema rowsets in the table below, specifying a two-part catalog name as linked_server.catalog restricts output to the applicable catalog of the named linked server.

Schema rowset Catalog restriction
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

Note

To restrict a schema rowset to all catalogs from a linked server, use the syntax linked_server (where the period separator is part of the name specification). This syntax is equivalent to specifying NULL for the catalog name restriction and is also used when the linked server indicates a data source that does not support catalogs.

The SQL Server Native Client OLE DB provider defines the schema rowset LINKEDSERVERS, returning a list of OLE DB data sources registered as linked servers.

See Also

Schema Rowset Support (OLE DB)
LINKEDSERVERS Rowset (OLE DB)