次の方法で共有


スキーマ行セット - SQL Server Native Client での分散クエリのサポート

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

重要

SQL Server Native Client (SNAC と略されることがよくあります) は、SQL Server 2022 (16.x) と SQL Server Management Studio 19 (SSMS) から削除されました。 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 プロバイダーは、リンク サーバーとカタログ名を含む 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 を定義します。

参照

スキーマ行セットのサポート (OLE DB)
LINKEDSERVERS 行セット (OLE DB)