所以我的任务是创建一个查询,该查询使用两个独立服务器上两个独立数据库的数据。我被告知链接服务器不是一个选项,但有一个sql命令可用于正确地寻址我想连接的服务器。任何人都可以告诉我这个命令可能是什么?
EX:
服务器01 Database_01 Table01
服务器02 Database_02 TABLE02
如果我有链接服务器,我可以这样做。
SELECT s2.*, s1.somefield
FROM [Server 02].[Database_02].[Table02] s2
JOIN [Server 01].[Database_01].[Table01] s1
on s2.id = s1.id
由于我没有该选项,如果我连接到Server 01,我需要找到另一种方法来引用Server 02。
答案 0 :(得分:0)
找到示例here:
OPENROWSET:
SELECT *
FROM OPENROWSET('SQLNCLI',
'DRIVER={SQL Server};SERVER=MyServer;UID=MyUserID;PWD=MyCleverPassword',
'select @@ServerName')
OPENDATASOURCE:
SELECT *
FROM OPENDATASOURCE ('SQLNCLI', -- or SQLNCLI
'Data Source=OtherServer\InstanceName;Catalog=RemoteDB;User ID=SQLLogin;Password=Secret;').RemoteDB.dbo.SomeTable