刚才在两个不同服务器之间导数据,然后搜到个好玩的东西,就是怎么在一个数据库中查询另一个服务器下的数据库中的表,哎呦真绕。
比如我想查询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删掉了,那。。。