SQL Studio Management - 如何在多个服务器上运行查询

5

我有两个服务器,都使用SQL Server 2008 R2。

我有一个本地SQL服务器和一个在亚马逊机器上运行SQL-Server的实例。

我可以使用标准的10.10.10.10, 1433连接从我的本地管理工具连接到亚马逊的SQL服务器。

现在我需要运行一条查询语句,告诉我哪些记录是本地拥有的,但目前不在亚马逊服务器上。

类似这样:

 SELECT * 
 FROM [LOCAL].dbo.Table1  
 WHERE Field1 NOT IN   
       (SELECT Field1 FROM [AMAZON].Database1.dbo.Table1)

================================

问题:
我不知道如何在查询窗口本身上写入“AMAZON”位置,因为它运行在另一台服务器上。

非常感谢任何帮助!!!

4个回答

3

您需要在本地机器上配置 AMAZON 服务器作为 LINKED 服务器。如果将其命名为“AMAZON” - 您的查询将完全按照您编写的方式工作。


我在哪里配置10.10.10.10服务器作为LINKED?是在“已注册的服务器”上吗? - SF Developer
1
在SSMS中 -> ObjectExplorer -> YourLocalServer -> Server Objects - > Linked Servers。我不确定:如果您使用的是express版,则可能不支持Linked Servers。 - Andrei Rantsevich

2
为了可以在多个服务器上运行查询,必须在这两个服务器之间建立链接(链接服务器)。创建链接服务器需要进行以下步骤:
  1. 浏览到服务器对象文件夹下的链接服务器子文件夹
  2. 右键单击链接服务器文件夹
  3. 点击新链接服务器
  4. 提供服务器的连接字符串
  5. 命名您的链接服务器。
现在,您可以使用完整的对象限定符(LinkedServer.Database.tableOwner.Table)访问这些对象。
祝你好运!

2

在SSMS中,找到\服务器对象\链接的服务器。右键单击,“新建链接的服务器”。命名您的服务器,并选择“SQL服务器”单选按钮。由于我在两台机器上都是授权用户,具有Windows凭据,因此在安全选项卡下选择“使用登录的当前安全上下文进行制作”单选按钮,甚至不必处理本地/远程用户映射。


0
你应该打开已注册服务器的窗口,并为你的服务器创建一个组。然后,你右键单击组名并选择新查询(或在该组中选择多个服务器)。如果你执行查询,它将针对所选服务器运行。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接