sql server作业实现数据同步

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37691493/article/details/83960613

www.syncnavigator.cn

SyncNavigator 做数据同步时所支持的数据库类型:

支持sqlserver 2000-2014所有版本,全兼容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。

来源数据库和目标数据库可以版本不同,比如:来源数据库是sqlserver 2012  目标数据库是mysql 5.5 ,都是可以的, SyncNavigator 支持跨数据库版本,无缝传输数据。

只需要能连接上数据库, SyncNavigator 可以安装在第三方电脑上,来源数据库和目标数据库电脑上可以不用安装程序。

设置好数据库连接地址,点击测试连接,能脸上来源数据库和目标数据库, SyncNavigator 就能进行高效数据传输服务
--------------------- 

前言:

SyncNavigator是一款专门用于SqlServer、Mysql数据同步的软件,由国内顶级开发团队开发完成,经历8年逐步完善,目前具备强大的数据同步功能,国内很多大型连锁超市,企业,公司都在用SyncNavigator数据同步软件进行着数据同步服务。

它可以为我们提供智能化数据同步,对您重要的数据库进行实时同步操作,也可以设置定时任务传输,即使您的来源数据库和目标数据库版本不一样,表结构不一样,甚至是字段不一样,SyncNavigator也可以轻松帮您实现高效传输同步。

如果来源数据库和目标数据库表结构,字段一样,那么全部保持默认设置即可,如果是异构数据库,只需要动动鼠标,轻松绑定来源数据库表名和字段,一一匹配,就能完成异构数据库实时同步。

SyncNavigator可将数据库同步到不同版本的数据库上,无论你的数据库是SqlServer 2000、还是SqlServer2008,还是SqlServer2014等,或者Mysql ,SyncNavigator都能轻松在他们之间无缝同步。

SyncNavigator数据库同步软件支持断点续传同步功能,第一次安装配置好基本参数之后,就完全不用管,系统会在后台执行,开关机也不影响数据同步,系统会在下次联网的时候继续上次未完成的作业,在数据库同步的过程中出现故障,也能继续同步数据库,并确保数据完整性。

SyncNavigator同步是采用增量数据完成的,所以同步效率很高,每次只同步新数据或者新修改的数据,实时同步基本响应速度是毫秒级的,能迅速将源数据库产生的新数据,或者修改的数据同步到目标数据库上,确保数据完整性。

SyncNavigator有完善的日志、报告邮件发送功能,能保留每一步同步的步骤,供用户查阅,邮件提醒功能能实时提醒传输进度。

SyncNavigator数据库传输工具可以设置每张表的传输顺序,以免有些表对别的边的依赖性,先传输导致错误。

SyncNavigator数据库传输工具可以设置传输开始或者结束后运行指定脚本或者代码,能实现复杂的交互功能,让用户更灵活的实现自己需求。

支持分布式数据同步,可以把多个数据库数据传输过来进行整合,也可以同时执行多个传输进程。

功能特色
SyncNavigator数据库同步软件特点:
1.能够快速,持续,稳定的同步所需数据库数据。在来源数据库数据增加,修改或者删除后自动同步到目标数据库。
2.完整支持 Microsoft SQL Server。完整支持 Microsoft SQL Server 2000 2005 2008 2012 2014数据库类型。并能在不同数据库版本之间相互稳定高效同步数据,而不会出现问题。
3.完美支持 Mysql 4.1 以上版本。支持 Mysql 4.1 5.0 5.1 5.4 5.5   6.X。并能在不同数据库版本之间相互同步数据,也可以将SqlServer 数据库和Mysql数据库之间进行同步,支持同构,异构数据库同步。
4.只需要创建一个运行计划就能在指定时间自动进行数据库同步。轻松管理同步时间以及频率,可以按天,或者按周,实时同步等,轻松设置,一键无忧。
5.不编写SQL语句,不使用数据库管理工具。与同类产品相比所需数据库经验知识最少,傻瓜式的同步设置,大多数情况下只需要设置来源数据库地址,帐号密码,目标数据库地址,帐号密码,然后其他保持默认,点击开始同步,就能完美完成数据同步需求。

更新日志
SyncNavigator数据库同步软件 v8.4.1更新:
优化了MYSQL数据库同步细节。
改进了MySQL同步时可能出现的几个错误。
改进的数据库同步时的安全性。

作业介绍

     SQL SERVER的作业是一系列由SQL SERVER代理按顺序执行的指定操作。作业可以执行一系列活动,包括运行Transact-SQL脚本、命令行应用程序、Microsoft ActiveX脚本、Integration Services 包、Analysis Services 命令和查询或复制任务。作业可以运行重复任务或那些可计划的任务,它们可以通过生成警报来自动通知用户作业状态,从而极大地简化了 SQL Server 管理[参见MSDN]。

    创建作业、删除作业、查看作业历史记录....等所有操作都可以通过SSMS管理工具GUI界面操作,有时候也确实挺方便的。但是当一个实例有多个作业或多个数据库实例时,通过图形化的界面去管理、维护作业也是个头痛的问题,对于SQL脚本与GUI界面管理维护作业熟优熟劣这个问题,只能说要看场合。下面主要介绍通过SQL脚本来管理、维护作业。

作业优劣

     作业适合一些简单的操作,主要是定时执行一些计划,利用JOB定时执行,先清空本地数据,然后从远程LinkServer远程数据库提取数据插入当前数据库,方式简单,操作容易,但是效率低,不需要检查事物日志去比较差异。

     但是频繁的清空,插入,如果数据量比较大时候。效率会很低,而且进行一些复杂的操作是有点困难。主要看你的需求是咋样。

实际例子

  需求:将一台服务器上的sql server2005某一些表的数据同步到另一台服务器装有sql server 2008的数据库中。在同步中,有一些数据4小时更新一次。另外一些2小时更新一次。

   设计:由于操作简单我们首选采用server JOB来完成。在目标数据库中来完成作业创建。因为sql server2005版本有点低。定时将SourceDate中数据更新到目标数据库中,

         首先删除目标数据库中数据,然后进行插入操作。有些需求不需要删除所有数据,但是你进行一些判断是否存在要更新和插入。在JOB不好操作,我暂时没有发现好的方法,只能将表清空,然后在插入,但是这样数据量大的时候就会慢下来。

         这里有两种办法实现设计,第一种就是源数据源中创建作业,另外一种是就是目标数据源中创建作业因为sql server2005版本有点低。定时将SourceDate中数据更新到目标数据库中,

         这里有两种办法实现远程数据库连接,第一种就是在创建作业链接远程数据库中采用脚本连接,另外一种是利用GUI界面中在链接服务器中创建连接即可,我个人认为有界面版的好一些。

   实现:①:在源数据库服务器上建立链接服务器。【服务器对象】-【链接服务器】-右键【新建链接服务器(N)...】-【常规】(如下图)

    注 意:链接服务器IP:192.168.1.65是目标数据库,建立这个链接服务器准备直接访问192.168.1.65的服务器上的数据库表。由于这里是 SQL SERVER 所以服务器类型选择SQL Server。

   ②:选择【安全性】设置登录用户和密码,添加一个本地服务器登录到远程服务器的登录映射。然后【确定】(如下图)

 

    ③:这时可以看到了一个192.168.1.56的链接服务器。右键【测试连接(T)】(如下图)

   ④:如果出现如下对话框则说明配置正确(如下图)

   

    在源数据库服务器上建立一个job主动的把数据push到目标数据库里去。

    ⑤:新建立作业:【SQL Server 代理】-【作业】-右键【新建作业(N)...】

   ⑥:在【常规】中为作业起个名称(如下图)

   ⑦:点击【步骤】,然后点击【新建(N)...】创建作业步骤(如下图)

   ⑧:编辑步骤(如下图),然后【确定】

   从源数据库push数据到目标数据库的sql语句:

   truncate table [192.168.1.56].TargetData.[dbo].[TargetTable]

   go

   insert into [192.168.1.56 ].TargetData.[dbo].[TargetTable ] select * from SourceData.[dbo].[SourceTable]

   go

   ⑨:新建作业计划(如下图),然后【确定】

   

    ⑩:最终【确定】就可以了(如下图)

   11:执行SQL JOB,右键点击刚新建的作业【PushDataToTarget】-【作业开始步骤(T)...】(如下图)

   12:结果出现下面的问题(如下图)

    13:然后去查看日志右键点击【PushDataToTarget】-【查看历史记录(V)】(如下图)

=============================================================

     方法二:在目标数据库服务器上建立一个链接服务器,让目标数据库主动的把数据pull到源数据库中。

    1:创建链接服务器 参照上方的方法,并测试链接成功。然后在目标数据中新建作业,如下图

  2、新建步骤(如下图)

  从源数据库pull数据的sql语句:

  truncate table TargetData.[dbo].[TargetTable]

  go

  insert into TargetData.[dbo].[TargetTable ] select * from [192.168.2.200].SourceData.[dbo].[SourceTable]

  go

 

   3、新建计划(如下图)

  4、最终【确定】

   5、右键点击【PullDataFromSource】-【作业开始步骤(T)...】

   6、执行结果如下

 

   7、再查看日志如下

猜你喜欢

转载自blog.csdn.net/weixin_37691493/article/details/83960613