スキーマ行セットでの分散クエリのサポート
分散クエリSQL Serverサポートするために、SQL SERVER NATIVE CLIENT OLE DB プロバイダー IDBSchemaRowset インターフェイスはリンク サーバー上のメタデータを返します。
DBPROPSET_SQLSERVERSESSION の SSPROP_QUOTEDCATALOGNAMES プロパティが VARIANT_TRUE の場合、カタログ名には引用符で囲んだ識別子 ("my.catalog" など) を指定できます。 カタログによるスキーマ行セットの出力を制限する場合、OLE DB プロバイダー SQL Server Native Clientは、リンク サーバーとカタログ名を含む 2 部構成の名前を認識します。 次の表のスキーマ行セットでは、2 部構成のカタログ名を 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 |
Note
スキーマ行セットをリンク サーバーのすべてのカタログに制限するには、linked_server 構文を使用します (ピリオドを区切り文字として名前を指定します)。 この構文は、カタログ名の制限で NULL を指定する場合と同じで、カタログをサポートしないデータ ソースをリンク サーバーが示している場合にも使用されます。
SQL Server Native Client OLE DB プロバイダーは、リンク サーバーとして登録されている OLE DB データ ソースの一覧を返す、スキーマ行セット LINKEDSERVERS を定義します。