线上服务器A,中转服务器B,本地服务器C
数据在A上面,想在B上面操作类似 select * from [A].[database].table这样的SQL,不用去链接服务器,直接把处理结果导入B然后生成报表。
结果报错如下:
消息 7202,级别 11,状态 2,第 1 行
在 sys.servers 中找不到服务器 'A'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。
执行下面操作在B服务器上面创建A服务器连接,
step1:服务器地址(IP),服务器类型,访问借口
step2:用户设置、安全设置。
注意上面的本地登录用户和远程用户名,注意最下面的使用此安全上下文建立连接。输入用户名密码。服务器选项设为默认可以。
OK 再次执行select * from [A].[database].table 数据展现正常,问题解决。
--创建链接服务器exec sp_addlinkedserver 'A_to_B', '', 'SQLOLEDB', '127.0.0.1'
exec sp_addlinkedsrvlogin 'A_to_B', 'false',null, 'sa', 'sa密码'
首先打开登录SQL Server 2012管理器,然后双击在安全性里的用户SA。进入用户SA的属性界面,点击“状态”,单选框选项确保如图所示,按确定。
之后打开SQL Server配置管理器,点击SQL Server 服务选项,确定SQL Server是正在运行的。
如果想手动更改SQL数据库的连接端口,只要更改如下图的默认端口,SQL Server 2012 默认端口为1433。
最后,就是映射端口1433了,远程连接这个数据库时,格式为:Data Source=[域名或IP],[端口]。例如Data Source=117.232.22.132,4646。如果端口为默认的1433,就不用填写端口,Data Source=117.232.22.132。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)