通过另一个未链接的服务器连接连接到 SQL Server



因此,我的任务是创建一个查询,该查询使用来自两个独立服务器上的两个独立数据库的数据。有人告诉我,链接服务器不是一个选项,但有一个sql命令可以用来正确寻址我想连接的服务器。有人能告诉我这个命令可能是什么吗?

例如:

服务器01数据库_01表01

服务器02数据库_02表02

如果我有一个链接服务器,我可以简单地做到这一点。

SELECT s2.*, s1.somefield
FROM [Server 02].[Database_02].[Table02] s2
JOIN  [Server 01].[Database_01].[Table01] s1
on s2.id = s1.id

由于我没有这个选项,如果我连接到服务器01,我需要找到另一种引用服务器02的方法。

您需要OPENROWSET或OPENDATASOURCE

在此处找到示例:

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=OtherServerInstanceName;Catalog=RemoteDB;User ID=SQLLogin;Password=Secret;').RemoteDB.dbo.SomeTable

最新更新