SSMS の GUI を使用して、実行するサーバーを指定できることは承知しています。
クエリ スクリプト内から" use ServerA.[DBName] "と言うのと同様に、特定のサーバーを要求する方法はありますか?
SSMS の GUI を使用して、実行するサーバーを指定できることは承知しています。
クエリ スクリプト内から" use ServerA.[DBName] "と言うのと同様に、特定のサーバーを要求する方法はありますか?
これが不可能であることは確かです。(データベース名を変更するのと同じように USE [db_name]
)
Linked Server
ただし、クエリ内で 2 番目のサーバーに接続し、2 番目のデータ ソースのリソースを使用できるようにするという手法があります。
詳細については、このリンクを参照してください http://msdn.microsoft.com/en-us/library/ms188279.aspx
例えば:
select foo.id
from db1.table1 foo,
Server2.db_name.scheman_name.table_name bar
where foo.name=bar.name
他の回答(OpenDataSource)で言及されているのは次のとおりです。
リンク サーバー名を使用せずに、4 部構成のオブジェクト名の一部としてアドホック接続情報。
これはほとんど暗黙的ですLinked Server
OpenDataSourceを使用すると、クエリの範囲内でアクセスするサーバー インスタンスを設定する方法になる場合があります。背景や詳細については、この SO の質問を参照してください。
もう 1 つのオプションはTRY..CATCH
、クエリが を使用して正しいサーバーで実行されていることを確認し、SERVERPROPERTY()
そうでない場合は例外をスローするブロックです。これにより、人間が読みやすいエラー メッセージをユーザーに表示できます。