Ale*_*win 6 sql-server sql-server-2008-r2 linked-server
我有一个在 IAAS 提供程序上运行的远程数据库,我需要能够从我的本地工作站执行联合查询。我遇到了麻烦,因为当我尝试创建链接时,它试图使用命名管道进行连接。
我使用 SQL Server Native Client 10 创建了一个系统 DSN,并向其提供 IP、数据库、用户和密码。测试了它,它很好。
单击“确定”后,我收到一条错误消息,提示它找不到服务器,并显示它正在尝试使用命名管道。
我应该怎么做才能纠正这个问题?
我看不出您应该使用 DSN 的理由。直接使用 SQL Server Native Client 创建链接服务器:
EXEC master.dbo.sp_addlinkedserver
@server = N'MAIN',
@srvproduct = N'SQLServ', -- it’s not a typo: it can’t be “SQLServer”
@provider = N'SQLNCLI',
@datasrc = N'I .P_Address';
Run Code Online (Sandbox Code Playgroud)
然后您可以创建本地/远程登录对:
-- Pair local and remote logins
EXEC master.dbo.sp_addlinkedsrvlogin
@rmtsrvname = N'MAIN',
@useself = N'False',
@locallogin = N'Local_user_name',
@rmtuser = N'Remote_user_name',
@rmtpassword = N'Remote_password';v
Run Code Online (Sandbox Code Playgroud)