首页 > 代码库 > sp_addlinkedserver,Synonym

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,NullExec sp_dropserver DBVIP

 

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

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

这个词本身就是同义词的意思吧。

可这。。。。完全不知道是啥啊(过去

先来看看命令吧

Create Synonym SSSS For DBVIP.BBB.dbo.CCC

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

然后你就可以

SELECT * FROM SSSS

 

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

技术分享

当然如果你把远程链接删除了,或是把AAA下的BBB里面的CCC删掉了,那查询就会报错了,废话= =

sp_addlinkedserver,Synonym