2012-08-06 58 views
4

运行查询我的2服务器都使用SQL Server 2008 R2的SQL工作室管理 - 如何跨多个服务器

我有我的本地SQL服务器,并在亚马逊的机器上运行的SQL Server实例存在。

我可以使用本地Management Studio的标准10.10.10.10, 1433连接从本地计算机连接到该Amazon SQL。

我现在需要做的是运行一个查询,说..tells我什么记录我本地没有在亚马逊服务器上的记录。

喜欢的东西:

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

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

任何帮助是真正的赞赏!

回答

3

您必须将AMAZON服务器配置为本地计算机上的LINKED服务器。如果您将其命名为“AMAZON” - 您的查询将按照您的写法完成。

+0

我在哪里配置10.10.10.10服务器为LINKED?是在“注册的服务器” – 2012-08-06 22:30:58

+1

在SSMS - > ObjectExplorer - > YourLocalServer - >服务器对象 - >链接服务器。我不确定:如果有,Express版可能不支持链接服务器。 – 2012-08-07 07:52:05

2

在SSMS中,\ Server Objects \ Linked Servers。右键单击“新建链接服务器”。为您的服务器命名,然后选择“SQL Server”单选按钮。因为我是拥有Windows凭据的两台机器上的授权用户,所以我在安全选项卡下选择了“使用登录的当前安全上下文”单选按钮,甚至不必与本地/远程用户映射混淆。

0

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

1

为了能够跨多台服务器运行查询,必须在两台服务器之间建立链接(链接服务器)。要创建一个链接的服务器,

  1. 导航链接服务器子文件夹中的服务器对象的文件夹
  2. 右键单击链接服务器文件夹
  3. 点击新链接服务器上
  4. 供应连接字符串下为服务器
  5. 命名您的链接服务器。

您现在可以使用完整对象限定(LinkedServer.Database.tableOwner.Table)来访问对象。

祝你好运!

相关问题