通过另一个未链接的Sever连接连接到SQL Server

时间:2013-08-28 22:50:00

标签: sql sql-server-2008-r2

所以我的任务是创建一个查询,该查询使用两个独立服务器上两个独立数据库的数据。我被告知链接服务器不是一个选项,但有一个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。

1 个答案:

答案 0 :(得分:0)

你需要OPENROWSETOPENDATASOURCE

找到示例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