SELECT 两个不同服务器之间的查询

SELECT Query between two different servers

我想从不同服务器的不同表中提取数据。我在 V5\SQL2014 服务器和 运行 进行了查询以连接到 V5_27\SQL2005 服务器

EXEC sp_addlinkedserver 
@server= 'V5_27\SQL2005',
@srvproduct='V5_27\SQL2005',
@provider='SQLNCLI', 
@datasrc='tcp:0.0.0.0'

EXEC sp_addlinkedsrvlogin
@useself='FALSE',
@rmtsrvname='V5_27\SQL2005',
@rmtuser='sa',
@rmtpassword='123'

SELECT * FROM Stk006,[V5_27\SQL2005]..[TESTACC].Stk006

它显示了以下错误。

OLE DB provider "SQLNCLI11" for linked server "V5_27\SQL2005" returned message "Login timeout expired".

OLE DB provider "SQLNCLI11" for linked server "V5_27\SQL2005" returned message "A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.".

Msg 10049, Level 16, State 1, Line 22 TCP Provider: The requested address is not valid in its context.

  1. User and Password都没有错
  2. Allow remote 已在两台服务器中启用。
  3. TCP/IP and Named Pipes 已在两台服务器中启用。

请帮帮我,谢谢!

谢谢大家,我找到了解决问题的方法。

您可以查看解决方案 link here 或执行以下步骤。

  1. 尝试创建一个 link服务器,对象资源管理器 -> 服务器对象 -> 链接服务器(右键单击并新建)

  1. 配置设置

输入您的服务器名称

使用 sapassword

登录

  1. 然后测试它的连接。

  1. 祝您查询愉快。

select lc.t2 as 'Local Stock Code', ext.t2 as 'External Stock Code' from Stk001 lc, [V5_27\SQL2005].[TESTACC].[dbo].[STK001] ext