如何通过Linkedserver

时间:2015-06-17 15:45:44

标签: insert amazon-redshift rds

我已经创建了我的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]。

我试图谷歌很多,但它一直是徒劳的。

我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

Amazon Redshift可以使用UNLOAD命令将数据导出到Amazon S3:

然后,可以将此数据导入SQL Server,与任何CSV数据一样。

有些系统可以协助完成此过程(例如Amazon Elastic MapReduce,亚马逊数据管道),但它们可能对您的情况有所帮助。