LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL server 实现不同服务器之间的数据同步(作业实现)

admin
2023年9月15日 15:42 本文热度 735

        公司目前有两台服务器,一台计划用于存储历史数据(History),一台计划用于日常(Daily),现在的需求是将日常的SQL server产生的历史数据表,通过定期同步的方式存储到存放历史数据的服务器上(Daily——>History)这个顺序一定要记清楚!

目录

SQL server实现数据同步的方法

数据库备份和还原:

数据库复制:

Always On 可用性组:

跨数据库查询或跨服务器查询:

ETL 工具和流程:

 作业同步的实现(用History和Daily来区分服务器,看上文)

建立链接服务器

 2.还有个重要的东西需要开一下!

3.最重要的地方来了,作业(Daily)

 总结

免费!!!!!!!!!!!!!!!!!!!!


SQL server实现数据同步的方法

        SQL server实现不同服务器间数据同步的方法有很多,他们各自有优缺点,我在这简单提介绍几句,但是不做过多赘述。

  1. 数据库备份和还原:

    • 优点:备份和还原是最简单和直接的数据同步方法。通过备份源数据库并在目标数据库上还原备份,可以完全复制源数据库的内容。

    • 缺点:此方法需要手动进行备份和还原操作,并且无法实现实时数据同步。还原操作会覆盖目标数据库中的所有数据,可能导致数据丢失。

  2. 数据库复制:

    • 优点:数据库复制可以实现实时或定期的数据同步。它通过创建发布者和订阅者之间的复制拓扑,将更改从源数据库传播到目标数据库。

    • 缺点:配置和管理复制拓扑可能需要一定的复杂性和维护成本。复制过程中可能存在延迟,特别是在大规模数据同步或高负载环境下。

  3. Always On 可用性组:

    • 优点:Always On 可用性组提供了高可用性和数据同步的解决方案。它使用数据库镜像、自动故障转移和数据复制技术,将数据实时复制到可用性组中的其他节点。

    • 缺点:Always On 可用性组的配置和管理较为复杂,需要专业知识和正确的基础设施支持。该方法对于小型部署可能有过剩的复杂性。

  4. 跨数据库查询或跨服务器查询:

    • 优点:使用跨数据库查询或跨服务器查询,可以在不同的数据库或服务器之间执行查询,从而实现数据同步。这种方法对于小规模的数据同步和报表生成很有用。

    • 缺点:该方法在性能和扩展性方面可能存在限制。数据查询和传输可能会产生网络开销,并且在大规模数据同步时可能导致性能下降。

  5. ETL 工具和流程:

    • 优点:使用 ETL(抽取、转换和加载)工具,可以定义和执行复杂的数据同步和转换流程。这种方法适用于数据清洗、转换和整合的需求。

    • 缺点:ETL 工具的配置和开发需要一定的技术知识和时间投入。在数据量较大或数据模型较复杂时,可能需要额外的性能优化和资源。

 作业同步的实现(用History和Daily来区分服务器,看上文

        在本文我将会介绍链接服务器的建立、将SQL Server未将服务器 ***.***.**.*配置为用于 DATA ACCESS、出错码为7401的解决方案!上例子!!!

  1. 建立链接服务器

        建立链接服务器共有两种方法,使用SSMS管理工具进行建立和使用Sql语句建立,我先介绍最简单的使用Sql语句建立:

在你的数据库上右键,新建查询

         除了@server的内容啥也不用改,@server内容是History的IP地址或者SQL server实例名称(如果不知道就去百度搜怎么获取IP地址!)

1.  /*配置链接服务器*/

2.  exec sp_addlinkedserver

3.       @server = '192.168.1.1',

4.       @srvproduct = 'SQLOLEDB',

5.       @provider = 'SQLNCLI',

6.       @datasrc = '192.168.1.1';

7.  /*除了@server啥也不用改!!!!!!*/


建好之后可以使用下面的语句查询一下:

select * from sys.servers /*查询链接服务器*/


大概就是这个样子的

 2.还有个重要的东西需要开一下!

1. /*SQL Server将服务器 192.168.1.1 配置为用于 DATA ACCESS*/

2.  USE MASTER;

3.  exec sp_serveroption '192.168.1.1', 'data access', 'on';

4.  /*同样只需要改192.168.1.1的内容就行,将192.168.1.1替换为你的Histord IP地址*/

5.   

6.  /*一个是Daliy,一个是History*/

7.  USE MASTER;

8.  exec sp_serveroption '192.168.1.6', 'data access', 'on';

3.最重要的地方来了,作业(Daily)

 

 第一个箭头的SQL server代理基本上都是处于关着的状态,需要手动打开,然后找到第二个作业,右键,新建作业

         在第一步中,需要写一个合适的名字(无任何规定,随意起即可,我的推荐是Data Synchronization意思是数据同步)。第二步,点击步骤

        同样的,点击1新建,2设置合适的名字(这里我推荐Step1),最最最重要和最最最容易忘记的是这个数据库的选择,3选择你要同步的数据库,数据库要求在Daily和History上都有相同的表结构(何谓表结构,就是相同的字段、数据类型)

        然后4,写入语句(这里的语句就是SQL语句,十分的方便,select、insert同样都可以用,我举一个例子):

1.  /*按照一定条件查找.6服务器下tb_productSaveParameterHistory表中的内容然后插入到.1服务器中tb_productSaveParameterHistory*/

2.  insert into [192.168.1.1].[date].[dbo].[tb_productSaveParameterHistory]

3.  select * from [date].[dbo].[tb_productSaveParameterHistory] where ST != '999'

        这条SQL语句用于按照一定条件从服务器192.168.1.6下的数据库date中的dbo.tb_productSaveParameterHistory表中查找内容,然后将符合条件的数据插入到服务器192.168.1.1下的数据库date中的dbo.tb_productSaveParameterHistory表中。(192.168.1.6是Daily,192.168.1.1是History)。

        如果一个步骤完不成可以添加两个或多个步骤,具体方法如上图所示。

然后再设置计划,即上图第三步, 

        按照1新建,2设置名字,3设置执行频率,4设置每天的频率,(我推荐服务器是30秒),如果是测试的时候可以设置10秒,观察变化情况,更好的掌握动态。

        经过以上操作,基本上是完成了,接下来就可以监听这个作业的运行情况,并且可以根据需要开关作业

 

        Data Synchronization就是刚刚建立的作业,右键就可以禁用、开启、查看历史事件,最有用的就是这个查看历史事件了,可以根据出现的问题查看原因,可以看到错误代码。下图是例子!

 总结

        这个也是通过一上午才研究出来的方法,淘宝上有个商家卖我1000,幸好我没有买,靠着聪明才智做出来了,差点被无良商家坑了,就是那个森大网络科技那个商家,如果数据库同步有问题可以在评论区向我提问或者发私信,看到即可解答!

下载链接(1条消息) 数据同步如图所示,文章在主页资源-CSDN文库

免费下载链接!!!!!!!!!!!!!!!!!!!! 


该文章在 2023/9/15 15:42:45 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved