项目背景
数据需要定期迁移,数据存在于客户政务外网下,从旧数据库迁移到新数据库中,且要求可以或许定时增量同步。
注意:
源数据库所在服务器为windows服务器,目的数据库所在服务器为linux服务器。
源数据库所在windows服务器可以毗连到目的数据库,但目的数据库无法毗连到源数据库。
利用方法
参考:https://blog.csdn.net/bing_yuan/article/details/141815982
利用sql server本身功能(存储过程+署理作业)
1.sql server
- --创建访问生产库数据库的别名
- -- tjzx为具体的数据库名称,意思在哪个数据库下进行链接服务器操作。
- use tjzx
- go
- -- 创建链接服务器,'source_test'自定义别名,后面会用到,其余信息可以都不动
- -- 创建名为'source_test'的链接服务器,连接到IP为172.X.X.X的SQL Server实例
- -- 参数说明:
- -- 'source_test' - 链接服务器在本地的别名
- -- ' ' - 产品名称留空
- -- 'SQLOLEDB' - 使用SQL Server的OLE DB提供程序
- -- '172.X.X.X' - 远程SQL Server的IP地址
- exec sp_addlinkedserver 'source_test', ' ', 'SQLOLEDB', '172.X.X.X';
- -- 配置链接服务器的登录映射
- -- 参数说明:
- -- 'source_test' - 链接服务器名称
- -- 'false' - 不使用当前登录的安全上下文
- -- null - 表示所有本地登录都使用这个映射
- -- '用户名' - 远程服务器的登录用户名
- -- '密码' - 远程服务器的登录密码
- exec sp_addlinkedsrvlogin 'source_test', 'false', null, '用户名', '密码';
- exec sp_serveroption @server='source_test', @optname='rpc', @optvalue='true';
- exec sp_serveroption @server='source_test', @optname='rpc out', @optvalue='true';
- exec sp_serveroption @server='source_test', @optname='remote proc transaction promotion', @optvalue='true';
- --创建目标生产库数据库的别名
- -- tjzx为具体的数据库名称,意思在哪个数据库下进行链接服务器操作。
- use tjzx
- go
- --创建访问中间库的数据库target_test2
- exec sp_addlinkedserver 'target_test2', ' ', 'SQLOLEDB', '172.X.X.X';
- exec sp_addlinkedsrvlogin 'target_test2', 'false', null, '用户名', '密码';
- exec sp_serveroption @server='target_test2', @optname='rpc', @optvalue='true';
- exec sp_serveroption @server='target_test2', @optname='rpc out', @optvalue='true';
- exec sp_serveroption @server='target_test2', @optname='remote proc transaction promotion', @optvalue='true';
- -- 创建存储过程
- -- tjzx为具体的数据库名称,意思在哪个数据库下进行链接服务器操作。
- use tjzx
- go
- -- 存储过程名称
- create procedure sync_event_data_0513
- as
- begin
- SET NOCOUNT ON;
- insert into target_test2.sjjc_force_b.dbo.test_0513(test,test_1,test_2,test_3,test_4,test_5)
- select test,test_1,test_2,test_3,test_4,test_5
- -- 表名source_test.bpainsdb_60_tjzx.dbo.test_0513格式为 链接服务器信息别名.数据库名称.子库信息.表名
- from source_test.bpainsdb_60_tjzx.dbo.test_0513
- where test_5 < DATEADD(minute, DATEDIFF(minute, 0, GETDATE()) + 10, 0);
- END;
复制代码 2.署理作业
1.署理作业
2.作业属性
3.作业步骤属性
4. 作业筹划属性
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |