To support Microsoft® SQL Server™ distributed queries, the SQLOLEDB 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, SQLOLEDB 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.
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.
SQLOLEDB defines the schema rowset LINKEDSERVERS, returning a list of OLE DB data sources registered as linked servers.