在数据查询时,由于数据存储在不同的服务器上,当需要联合查询时,不太方便。此时可以采用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
附:界面操作