登录超时Azure链接服务器

时间:2016-09-27 09:05:43

标签: sql-server azure

我想从我们的本地服务器(SQL 2014)查询供应商Azure SQL PDWH,以从该Azure SQL PDWH中提取数据并插入位于本地服务器上的数据库。最后,这应该通过驻留在本地数据库中并被调度的存储过程自动执行。

为此,我使用以下脚本在Azure SQL DWH和本地服务器之间设置了链接服务器:

https://blogs.msdn.microsoft.com/sqlcat/2011/03/07/linked-servers-to-sql-azure/

/*
Create new linked server
*/

-- Make a link to the cloud
EXEC sp_addlinkedserver   
   @server=N'read_only_dwhs', 
   @srvproduct=N'Azure SQL Db',
   @provider=N'SQLNCLI', 
   @datasrc=N'server.database.windows.net,1433',
   @catalog='xxxxxx';
GO

--Set up login mapping
EXEC sp_addlinkedsrvlogin 
   @rmtsrvname = 'read_only_dwhs', 
   @useself = 'FALSE', 
   @locallogin=NULL,
   @rmtuser = 'xxxxxx',
   @rmtpassword = 'xxxxxx'
GO

这些语句运行没有错误。但是,当我执行 sp_testlinkedserver 时,它会在大约10秒后返回超时错误。

  

链接服务器“read_only_dwhs”的OLE DB提供程序“SQLNCLI11”返回消息“登录超时已过期”。

     

链接服务器“read_only_dwhs”的OLE DB提供程序“SQLNCLI11”返回消息“由于预登录响应延迟,无法完成登录过程”。

     

Msg 258,Level 16,State 1,Line 23   TCP提供程序:超时错误[258]。

我检查了IT,他们确认没有任何东西被防火墙阻止,并且启用了TCP / IP。我们的供应商还确认我们的IP已添加到Azure防火墙。通过visual studio community 2015直接从Azure SQL PDWH数据库查询,我没有任何问题。

此类工具:http://sqlazuremw.codeplex.com/在连接时也会出现同样的错误。

我搜索了几个小时,但无论我做什么,它都会返回相同的错误消息。

感谢任何帮助。

更新2016 09 27:

经过一些IT测试后,似乎这与我们的防火墙设置有关。

当我通过数据库从本地服务器(通过远程桌面连接)直接查询Azure DWH时,我没有错误,一切正常。我也能够使用相同的本地数据库从本地计算机进行查询。

然而,当另一位同事登录到本地服务器时,我无法再从我的本地计算机查询(上面有超时错误),直到我再次使用my登录到(本地)服务器凭证。

我认为防火墙规则过于严格,只允许在我的凭据在本地服务器上处于活动状态时将信息发送/接收到Azure DWH。

2016年更新09 28: 这个问题现在似乎已经解决了。 IT设法将正确的设置应用于防火墙。即使同事登录到服务器,服务器现在也可以与Azure DWH进行通信。

这可能对其他人有帮助。

0 个答案:

没有答案