sql server 链接服务器 中文乱码_进阶技能篇:SQL的跨库查询与链接服务器

各位小伙伴们,关于MSSQL的基本技能篇前面一共写了10篇,也基本上算是告一段落,接下来将开始介绍进阶技能篇。在构思这个进阶技能篇的时候,一直在考虑先写哪个,其实到看到这部分内容能理解的人,基本上对SQL数据库知识已经了解到一定程度了,所以计划还是想到哪里写到哪里吧。

a61eecdd9130268241e40a1e26992d5e.png

今天所要讲到的是跨库查询和链接服务器,在说这个跨库查询之前,有个基本的知识点必须明白:一个服务端上可能有多个实例,一个实例下可能有多个数据库。举个例子吧,服务端好比一栋楼,其中的实例好比楼中的很多房间,数据库呢相当于房间中的人,这个包含关系首先得理解,才能更好理解下面的内容:

(1)同实例下跨库查询:

 在当前数据库连接状态下,需要查询同实例下,其他数据库里的表,引用方法:  数据库名..表名(或其他对象名)   代码如下

select  top 100 * from  stu_cou..cou

结果:

95510cb6e12d056e80036b07a4b09963.png

(2)跨实例(跨服务器)查询:

这种情况需要先建立链接服务器,然后才能联通查询。以MSSQL的链接服务器建立过程为例,过程简介如下:

1)在实例下找到“服务器对象”--“链接服务器”--右键--新建链接服务器;

7bf86c611234d16901b3821939fbc54b.png

2)在弹出的页面中,默认选中“常规”节点,填写链接服务器的名称,选择“提供程序”为SQL server, 在“数据源”栏输入对方数据库的实例地址和名称;

9751c0360c11882fd3dab4faf99a1217.png

3)单击“安全性”选项卡,选中“使用此安全上下文建立连接”,输入对方的数据库名和密码;

75bd4f95b0dd8da9a07ea8f02f5a6d00.png

4)单击服务器选项,双击修改RPC和RPC out的状态为“True”。

30165d4a5eec3bd6548e4dc2b26aa58c.png

5)点击“确定”,此时链接服务器就新建完成,在左侧的对象资源管理器,依次展开“链接服务器”就可以查看到下面的数据库目录。

调用方法:链接服务器名 . 数据库名 . 用户名(如dbo). 表名(或其他对象名)  代码如下:

INSERT INTO WSND.ASMC.dbo.hzpytmpVALUES('1','1','2')select  * from WSND.ASMC.dbo.hzpytmp  delete from WSND.ASMC.dbo.hzpytmp

结果:

e06f0c3e775a430b164af3f6ccb234df.png

补充下,在新建链接服务器的时候,除了以上使用可视化方式新建以外,还要用语句的方法也可以实现,代码如下:

exec sp_addlinkedserver '链接服务器名', '', 'SQLOLEDB', '对方实例地址'

exec sp_addlinkedsrvlogin '链接服务器名', 'false',null,'登录用户名', '密码'

有兴趣的可以自己试试。

总结:

(1) 同实例下跨库查询用起来简单,跨实例访问首先需要保证网络和端口是通的,得连接的上才能做链接;

(2) 跨库链接访问对象和在本地访问本库的对象,用法基本上是一样的,可以insert、select也可以delete,但是跨库访问有可能会遇到数据库进制不一样,导致排序规则不一致进而影响数据关联的问题,这个需要在后面加上以下代码,指定排序规则;

collate Chinese_PRC_CI_AS

最后,链接服务器在处理事务的时候,还经常会遇到分布式服务的问题,这个留到下一篇讲述。今天的分享就到这里,如果觉得有用,请分享邀请更多小伙伴前来围观。

57c2a280897ecefc9e056ec0b9a55602.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值