sp_addlinkedserver,Synonym

刚才在两个不同服务器之间导数据,然后搜到个好玩的东西,就是怎么在一个数据库中查询另一个服务器下的数据库中的表,哎呦真绕。

比如我想查询AAA服务器下BBB数据库CCC表的数据,那么我们可以用sp_addlinkedserver,sp_addlinkedsrvlogin,sp_droplinkedsrvlogin,sp_dropserver

这四个sp来完成这一套动作。

首先 sp_addlinkedserver

EXEC  sp_addlinkedserver
      @server='DBVIP',--被访问的服务器别名 
      @srvproduct='',
      @provider='SQLOLEDB',
      @datasrc='AAA'   --要访问的服务器

其次 sp_addlinkedsrvlogin

EXEC sp_addlinkedsrvlogin 
     'DBVIP', --被访问的服务器别名
     'false', 
     NULL, 
     'sa', --帐号
     '××××××××' --密码

这时候已经可以查询了

SELECT * FROM DBVIP.BBB.DBO.CCC

当你不用的时候可以删除掉

Exec sp_droplinkedsrvlogin DBVIP,Null
Exec sp_dropserver DBVIP

然后来说下Synonym这个,我也是第一次用,但是我一直都见过。。。大部分人都见过= =

但是我从来不知道那是啥,因为名字。。。。中文版的sqlserver里面他叫“同义词”,就在“视图”下面。

先来看看命令吧

Create Synonym SSSS For DBVIP.BBB.dbo.CCC

这句话就是给CCC创建个名字叫SSSS的同义词

然后你就可以

SELECT * FROM SSSS

这时候“同义词”下面也可以看到SSSS这个。。同义词

当然如果你把远程链接删除了,或是把AAA下的BBB里面的CCC删掉了,那。。。

原文地址:https://www.cnblogs.com/suzu/p/5920047.html