一、如果你要访问的数据库,不在同一个服务器上,那么需要用服务器链接:
EXEC sp_addlinkedserver @server='dblink名称', @srvproduct='', @provider='SQLOLEDB', @datasrc='目标服务器地址' GO EXEC sp_addlinkedsrvlogin 'dblink名称', 'false', NULL, '用户名', '密码' GO
小注:
1、上下两部分的'dblink名称'应该是一样的。
2、下面的用户名与密码应该是目标服务器上的用户名及密码。
3、使用的时候,只需要修改'dblink名称'、目标服务器地址、用户名及密码即可,其余的地方不需要修改。
4、执行sql server的跨库连接的时候,应该用sa账户登录(本地数据库也就是源数据库的sa账户登录)
5、如果需要链接不是数据库默认实例,需要在@datasrc中指定 对应的数据库实例
比如:需要访问的数据库实例是 SQLSERVERtest
则@datasrc需要这么写
@datasrc='192.168.120.119\SQLSERVERtest'
图形化建立连接,如下图:
二、测试服务器链接是否成功的两种方式
1、SQL语句
--查询远程表 select * from [dblink名称].远程数据库名.dbo.表
2、假如你新建的dblink名称为test,如下图:
创建好后,就在这个位置了,可以右键测试是否连通。
三、把本地表的数据,复制到远程表
insert into [Link].远程数据库名.dbo.表(列的列表) select 列 from 本地表
四、把远程表的数据,复制到本地表
insert into 本地表 select 列 from [Link].远程数据库名.dbo.表