基于链接服务器的跨服务器查询

在数据查询时,由于数据存储在不同的服务器上,当需要联合查询时,不太方便。此时可以采用SQL SERVER的链接服务器来达成。链接服务器有界面和SQL创建两种形式,建议使用SQL创建,因为采用界面创建时有时会失败,而且原因不易查。

下面是创建SQL链接服务器的脚本

--创建MY_LINK_SERVER_NAME
exec sp_addlinkedserver 'MY_LINK_SERVER_NAME','','SQLOLEDB','192.168.1.101' 
--登陆MY_LINK_SERVER_NAME
exec sp_addlinkedsrvlogin 'MY_LINK_SERVER_NAME','false',null,'debug','interface' 
--MY_LINK_SERVER_NAME是否启用本地排序规则
exec sp_serveroption 'MY_LINK_SERVER_NAME','use remote collation','false';

注:

1.MY_LINK_SERVER_NAME是链接服务器的名字,在后面的查询中会用到。

2.SQLOLEDB是连接服务器的方式,不同形式的服务器不一样。比如连接MySQL和Oracle时。

3.192.168.1.101是服务器的地址。

4.排序规则在两个服务器不同时,尤其要注意。比如简体SQL采用的是Chinese_PRC_CI_AS排序规则,繁体SQL采用的是Chinese_Taiwan_Stroke_CI_AS,此时可以修改此值为false,但是这样会带来另一个问题,可能查得的中文是乱码。不然就得在查询时,在繁体服务器上的字段后面加上COLLATE Chinese_PRC_CI_AS,或者在得体服务器上的字段后面加上COLLATE Chinese_PRC_CI_AS。

5.链接服务器的数据库查询:SELECT * FROM [MY_LINK_SERVER_NAME].DatabaseName.dbo.TableName

附:界面操作




原文地址:https://www.cnblogs.com/sparkleDai/p/7604961.html