ローカル データベースに対して実行され、一時テーブルを埋めるストアド プロシージャがあります。次に、リモート データベースに接続し、ローカルの temptables の値に基づいてクエリを実行したいと思います。それは可能ですか?
ありがとう。
ローカル データベースに対して実行され、一時テーブルを埋めるストアド プロシージャがあります。次に、リモート データベースに接続し、ローカルの temptables の値に基づいてクエリを実行したいと思います。それは可能ですか?
ありがとう。
はい、そうです。他のサーバーへのリンク サーバーを作成し、同じバッチ内で他のサーバーへのリンク サーバー クエリを実行できます。方法は次のとおりです。
USE [master]
GO
--Add linked server
EXEC master.dbo.sp_addlinkedserver @server = N'ServerName', @srvproduct=N'SQL Server'
GO
--Add login info
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'ServerName', @locallogin = NULL , @useself = N'True'
GO
--Using Linked server
USE [UserDB]
Create Table #Test
(
Test int not null
);
insert into #Test
select 1
select *
from ServerName.DBName.dbo.Table
where Col1 in (select Test from #Test)
サーバー名をプラグインし、ログイン資格情報が両方のサーバーで機能することを確認し、最後の行の 4 部構成の命名スキームに従います。
リンクサーバーを設定する必要があると思います。