我想从我们的本地服务器 (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
Run Code Online (Sandbox Code Playgroud)
这些语句运行时没有错误。但是,当我执行sp_testlinkedserver 时,它会在大约 10 秒后返回超时错误。
链接服务器“read_only_dwhs”的 OLE DB 访问接口“SQLNCLI11”返回消息“登录超时已过期”。
链接服务器“read_only_dwhs”的 OLE DB 访问接口“SQLNCLI11”返回消息“由于登录前响应延迟,无法完成登录过程”。
消息 258,级别 16,状态 1,第 23 行 …