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

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

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

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

select  top 100 * from  stu_cou..cou


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

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

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

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

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

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

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

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


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

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

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

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

有兴趣的可以自己试试。
总结:

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

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

collate Chinese_PRC_CI_AS

最后,链接服务器在处理事务的时候,还经常会遇到分布式服务的问题,这个留到下一篇讲述。

进阶技能篇:SQL的跨库查询与链接服务器相关推荐

  1. sql怎么连接mysql数据库服务器_MSSQL数据库的跨库查询与链接服务器

    各位小伙伴们,关于MSSQL的基本技能篇前面一共写了10篇,也基本上算是告一段落,接下来将开始介绍进阶技能篇.在构思这个进阶技能篇的时候,一直在考虑先写哪个,其实到看到这部分内容能理解的人,基本上对S ...

  2. SQL Server 跨库查询

    1. 开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句: exec sp_configure 'show advanced options',1 reco ...

  3. SQL Server跨库查询

    跨服务器数据库查询 --连接远程/局域网数据(openrowset/openquery/opendatasource)  --1.openrowset (比较推荐这种做法) --查询示例  selec ...

  4. sql server的跨库查询(简单实现)

    sql server怎么跨库查询? 因为程序里建立连接时已经有了服务器和数据库,   库        connGZ.Provider="SQLOLEDB.1"           ...

  5. 微服务架构下,解决数据库跨库查询的一些思路

    开局先总结一下:现在很多厂都进行了微服务的开发模式,但是呢,业务的拆分的时候如果存在交叉是一件非常头大的事情,所以大家写微服务尽量不要交叉的写,比如新增用户如果已经存在在userservice里面了那 ...

  6. mysql跨库查询 索引_MySQL中跨库查询怎么搞?

    导读 在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询;另一种是不同服务的跨库查询;它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询. 在MySQL中跨库查询主要分为两种情况,一种 ...

  7. 跨库查询(OpenDataSource)与链接服务器(Linking Server)

    一:跨库查询 Openrowset/opendatasource() is an ad-hoc method to access remote server's data. So, if you on ...

  8. mysql单台跨数据库查询_在MySQL中怎样进行跨库查询?

    在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询:另一种是不同服务的跨库查询:它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询. 一.同服务的跨库查询 同服务的跨库查询只需要在关联 ...

  9. sqlserver垮库查询_SQLServer跨库查询--分布式查询

    --用openrowset连接远程SQL或插入数据 --如果只是临时访问,可以直接用openrowset --查询示例 select * from openrowset('SQLOLEDB' ,'sq ...

最新文章

  1. ByteBuf主要继承关系图
  2. AliOS Things 组件系统(uCube)
  3. 其实,大部分人都不需要你去培养
  4. 文本的数据导入到数据库中 mysql
  5. Semaphore实现原理分析
  6. 长时间工作意味着什么
  7. myBatis约束文档
  8. 公文标题排版(样式修改)
  9. 科普:Flutter应用打包、修改图标、修改启动页和app名字、加固后重新V1V2签名
  10. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解
  11. MODBUS-RTU协议主机和从机代码STM32 包含2个程序代码,主机和从机
  12. win10系统 删掉自带的输入法
  13. 美国队长的工资 python代码-Python入门必学,用Python练习画个美队盾牌
  14. 【互联网人的英语】什么时候适合用“词根词缀法”来背单词?
  15. Gamma校正及其实现
  16. 弱电人要学习的网络安全基础知识
  17. 数据之美:可视化会给你意想不到的答案!
  18. javascript简介(概念)
  19. 零基础语法入门第十二/十三讲指示代词和不定代词以及形容词
  20. 【scratchjr】开源项目开发踩坑之环境配置篇

热门文章

  1. 互联网商城盲盒app开发2021年为什么异常火爆?
  2. 关于Windows系统中文件夹的【特殊权限】
  3. MySQL 一个字段多个id查询
  4. 计算机考研大学排行榜,2020计算机研究生院校最新排名:武大3,北邮10,杭电14,复旦24...
  5. 计算机下记账凭证处理流程,第一节 电算化会计核算基本流程
  6. 用 K60 的 UART 串口通信改变程序中的参数值
  7. ISO三体系认证辅导,什么是三体系认证,企业进行三体系认证的意义
  8. (收藏向)超齐全常用python库汇总,有备无患!
  9. 河南科技大学图书馆计算机,河南科技大学图书馆
  10. vue中使用el-tree组件,判断是节点还是叶子,添加图片