私は2つのSQL Serverインスタンスを持っており、あるサーバー上のデータベースを別のサーバーからリモートでたくさん照会しています。 server1.database1上でこのようなクエリ:SQL Serverリモートクエリをよりうまくやっていますか?
select T1.id
from server1.database1.dbo.table1 T1
inner join server2.datbase2.dbo.table2 T2
on T1.id = T2.id
私は他の誰かからこのコードを継承しましたし、これを行うためのより良い(速い)方法があるかどう思っていましたか?つまり、server1.database1.dboのserver2.databse2.dbo.table2の正確なレプリカコピーを作成して、それ自体を更新し、リアルタイムで最新の状態に保つ方法がありますか?
のMicrosoft SQL Serverの標準版(64ビット) バージョン10.0.4000.0
編集:私は、私が開いているクエリを使用して(NOLOCK)とすることができた場合に実際に、私は、このシナリオでは、今やることは、あるに私が必要とする最小のデータセットを取得し、それを一時テーブルに入れます。そして、私は、 "ID"列を独自のクラスタード・インデックスに設定しました。サーバー1に参加しているものにすばやく参加できます。
これらのデータベースは互いに非常に離れています。または、クエリの対象が両方のデータベースまたはその両方から離れていますか? – JeffO