我已经创建了我的RDS(sqlserver实例),当我从sqlserver express连接时它工作正常。现在我想通过客户端连接到Redshift集群。两个集群都在VPC下,我已经为两者设置了安全组。
我已在sqlserver express中创建了linkedserver,如下所示。 EXEC sp_addlinkedserver @ server = N' Staging64', - 链接服务器显示名称 @srvproduct = N' test', - 默认为SQL Server @ provider = N' SQLNCLI', - 使用SQLNCLI @ datasrc = N' 52.167.514.101', - 运行redshift的远程服务器的FQDN @catalog =' test';
EXEC sp_addlinkedsrvlogin @rmtsrvname =' Staging64' - 链接服务器显示名称 ,@ useself =' false' - 不要伪装 - ,@ locallogin ='' - 注释掉以强制所有本地用户使用链接登录 ,@ rmtuser =' dev' - 远程用户名 ,@ rmtpassword =' dev2015&#39 ;; - 远程密码
创建链接服务器没有任何问题,但是当我执行此查询时:
SELECT TOP 10 * FROM Staging64.test.stage.dw_viasatsubscription;
它会抛出此错误消息:
OLE DB提供程序" SQLNCLI11"对于链接服务器" Staging64"返回消息"登录超时已过期"。 OLE DB提供程序" SQLNCLI11"对于链接服务器" Staging64"返回消息"建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。检查实例名称是否正确以及SQL Server是否配置为允许远程连接。有关详细信息,请参阅SQL Server联机丛书。"。 Msg 53,Level 16,State 1,Line 25 命名管道提供程序:无法打开与SQL Server的连接[53]。
我试图谷歌很多,但它一直是徒劳的。
我们将不胜感激。
答案 0 :(得分:0)
Amazon Redshift可以使用UNLOAD
命令将数据导出到Amazon S3:
然后,可以将此数据导入SQL Server,与任何CSV数据一样。
有些系统可以协助完成此过程(例如Amazon Elastic MapReduce,亚马逊数据管道),但它们可能对您的情况有所帮助。