リンク サーバーからのメタデータの取得

OLE DB プロバイダは、データに関するメタデータを IDBSchemaRowset インターフェイスによって公開します。このインターフェイスを使用すると、OLE DB 行セット オブジェクトの形式でデータを取得できます。SQL Server は、このインターフェイスを使用して、リモート テーブルのメタデータを取得しています。このメタデータは、次のインターフェイス経由でユーザーに公開されます。

  • SQL Server Native Client ODBC ドライバから提供される、ドライバ固有の関数。詳細については、「SQLLinkedServers」および「SQLLinkedCatalogs」を参照してください。

  • SQL Server Native Client OLE DB プロバイダから提供される、プロバイダ固有の行セット。詳細については、「OLE DB スキーマ行セット」を参照してください。

  • リンク サーバー上のオブジェクトを参照している 2 部構成の名前を受け取る ODBC カタログ関数。

  • リンク サーバー上のメタデータを返す、既存のストアド プロシージャ カタログに似たシステム ストアド プロシージャ。

リンク サーバーからメタデータを取得するには、次のシステム ストアド プロシージャを使用できます。

sp_linkedservers

sp_primarykeys

sp_catalogs

sp_indexes

sp_column_privileges

sp_table_privileges

sp_columns_ex

sp_tables_ex

sp_foreignkeys

 

注意

SQL Server は、分散クエリでストアド プロシージャがサポートされる唯一のデータ ソースです。

SQL Server は OLE DB プロバイダの IDBSchemaRowset インターフェイスを使用して、これらのメタデータ拡張機能を実装します。このインターフェイスはオプションなので、プロバイダがこのインターフェイスを実装していない場合もあります。メタデータは、そのようなプロバイダに対して定義されたリンク サーバーではアクセスできません。