Schema Rowset Support in SQL Server Native Client (OLE DB)
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.
The SQL Server Native Client OLE DB provider also supports returning schema information from a linked server when processing Transact-SQL distributed queries.
Note
Although SQL Server supports synonyms, metadata for synonyms is not returned by SQL Server Native Client.
The following tables list schema rowsets and the restriction columns supported by the SQL Server Native Client OLE DB provider.
Schema rowset | Restriction columns |
---|---|
DBSCHEMA_CATALOGS | CATALOG_NAME |
DBSCHEMA_COLUMN_PRIVILEGES | All the restrictions are supported. TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME GRANTOR GRANTEE |
DBSCHEMA_COLUMNS | All the restrictions are supported. TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME The following additional columns are specific to SQL Server: COLUMN_LCID, which is the locale ID of the collation. COLUMN_LCID is the same value as a Windows LCID. COLUMN_COMPFLAGS defines which comparisons are supported for the collation. The data format is the same as DBPROB_FINDCOMPAREOPS. COLUMN_SORTID, which is the SQL Server sorting style for the collation. COLUMN_TDSCOLLATION, which is the SQL Server collation for the column. IS_COMPUTED, which is VARIANT_TRUE if the column is a computed column and VARIANT_FALSE otherwise. |
DBSCHEMA_FOREIGN_KEYS | All restrictions are supported. PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME FK_TABLE_CATALOG FK_TABLE_SCHEMA FK_TABLE_NAME |
DBSCHEMA_INDEXES | Restrictions 1, 2, 3, and 5 are supported. TABLE_CATALOG TABLE_SCHEMA INDEX_NAME TABLE_NAME |
DBSCHEMA_PRIMARY_KEYS | All restrictions are supported. TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
DBSCHEMA_PROCEDURE_PARAMETERS | All restrictions are supported. PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PARAMETER_NAME |
DBSCHEMA_PROCEDURES | Restrictions 1, 2, and 3 are supported. PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME DBSCHEMA_PROCEDURES returns only procedures that can be executed by the current user, or for which the current user has been granted VIEW DEFINITION permission. |
DBSCHEMA_PROVIDER_TYPES | All restrictions are supported. DATA_TYPE BEST_MATCH |
DBSCHEMA_SCHEMATA | All restrictions are supported. CATALOG_NAME SCHEMA_NAME SCHEMA_OWNER |
DBSCHEMA_STATISTICS | All restrictions are supported. TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
DBSCHEMA_TABLE_CONSTRAINTS | All restrictions are supported. CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE |
DBSCHEMA_TABLE_PRIVILEGES | All restrictions are supported. TABLE_CATALOG TABLE_SCHEMA TABLE_NAME GRANTOR GRANTEE |
DBSCHEMA_TABLES | All restrictions are supported. TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE |
DBSCHEMA_TABLES_INFO | All restrictions are supported. TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE |
In This Section
Distributed Query Support in Schema Rowsets