SQL Server在线查询

时间:2016-07-22 18:16:26

标签: sql sql-server-2008 sql-server-2012

我在两台不同的服务器计算机上有两个SQL Server数据库服务器。

  • 服务器A - 192.168.1.100
  • 服务器B - 192.168.2.102

我需要从服务器A执行查询以从服务器B中的表中检索数据。

如何编写SQL select语句来执行此操作?

是否有任何服务器配置允许这些类型的查询?

1 个答案:

答案 0 :(得分:1)

添加链接服务器这里有1种方法的命令。用适当的SQL凭证替换用户和密码值。

EXECUTE master.dbo.sp_addlinkedserver @server = N'192.168.2.102', @srvproduct=N'SQL Server'
EXECUTE master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'192.168.2.102',@useself=N'False',@rmtuser='ASQLLogin',@rmtpassword='Password'

然后只是像普通表一样进行查询,但将链接服务器附加在前面,如上面所述的linked_server.db_name.schema_name.table_name,如下所示:

SELECT * 
FROM
     [192.168.2.102].[DatabaseName].[SchemaName].[TableName]

如果需要,您甚至可以将其加入本地服务器A.

SELECT * 
FROM
     [192.168.2.102].[DatabaseName].[SchemaName].[TableName] b
     INNER JOIN SomeTableOnServerA a
     ON b.ID = a.ID