最近的一个项目涉及到跨多个服务器的数据库作业。业务需求是一台主服务器,多台从服务器,主从服务器的数据库结构不相同,需要主服务器定时向从服务器推送数据。用到了跨服务器的作业问题。
实现这个功能首先确定从服务器是否在主服务器内有链接 ,我的从服务器名称是:IT-20170407FVBX,ip是:192.168.1.19
select * from sys.servers;
查询结果:
可见从服务器在主服务器内没有链接;
添加链接方式是:
EXEC sp_addlinkedserver
@server='192.168.1.19',--被访问的服务器别名
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='192.168.1.19' --要访问的服务器的ip地址
链接添加完成后进行用户登录链接:
EXEC sp_addlinkedsrvlogin
'192.168.1.19', --被访问的服务器别名
'false', NULL, 'sa',
'*******' --密码
再次查询链接的添加情况:
从服务器的链接添加好了;
这样就可以进行添加任务计划了。所要执行的sql语句如下:
insert into [192.168.1.19].[efdemo].dbo.xtgl_userinfo
select id,name,password,creatorid from xtgl_userinfo;