自分のデータベース サーバーに別のサーバーのデータベース テーブルのビューを作成することはできますか?
というデータベースがあり、別のデータベースが にあるとTesting
します。さんのデータベースにさんのテーブルのビューを作成することは可能ですか?server1
Testing2
server2
Testing2
Table2
server1
Testing
また、SQL Server 2008 を使用しています。
ご不明な点がございましたら、お知らせください。
ありがとう、
自分のデータベース サーバーに別のサーバーのデータベース テーブルのビューを作成することはできますか?
というデータベースがあり、別のデータベースが にあるとTesting
します。さんのデータベースにさんのテーブルのビューを作成することは可能ですか?server1
Testing2
server2
Testing2
Table2
server1
Testing
また、SQL Server 2008 を使用しています。
ご不明な点がございましたら、お知らせください。
ありがとう、
はい、できます。まず、 などを使用して、他のサーバーにリンクする必要がありますsp_addlinkedserver
。
その後、4 部構成の命名を使用してデータにアクセスできます。次に例を示します。
create view v_server1_master_tables as
select *
from server1.master.information_schema.tables;
リンクされたサーバーを介して可能です。ただし、このビューを使用するたびにテーブル全体がリンク サーバーから選択される可能性が高いため、別のサーバーのテーブルに基づいてビューを作成することはお勧めしません。オプティマイザーは、フィルターを発行するためにこのテーブル構造を認識していない可能性があります。大きなテーブルに対するクエリがどこから来て、データベースの速度を低下させているのか誰も知らなかった職場でそれを見てきましselect * from
た。単純なクエリで、別のサーバーのどこかで使用されているように見えました。少なくとも、ソリューションが上記の問題を引き起こさないかどうかを確認する必要があります。リンクサーバーを処理するときのオプティマイザーの動作について、他の誰かが詳しく説明できるでしょうか?