我在两台不同的服务器计算机上有两个SQL Server数据库服务器。
我需要从服务器A执行查询以从服务器B中的表中检索数据。
如何编写SQL select语句来执行此操作?
是否有任何服务器配置允许这些类型的查询?
答案 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