sql服务器实例间同步表数据使用sql表依赖性

数据同步任务需要非常勤奋地完成有效工作sql服务器实例同步

挑战性:

不得不用几表捕捉事务并移数据到世界另一端的另一个数据库数据库间没有直接连接少数表内有一个整数主密钥有弹性添加列,但无法修改现有列,因为这被其他应用所使用

求解方式 :

sql表依赖性-监控表变换

NserviceBus-可靠数据持久存储器,信息存储并个人节点播送

我们从头开始sql表依赖程序跟踪DB修改听从文章监控表变化SQL表依赖

使用此程序后,我们能够跟踪表插入/更新/删除修改通知消息完全记录,我们可以使用它

并推荐使用NserviceBus消息持续到接收者读取使用NserviceBus的好处是它提供一致性保证,直到接收者读处理消息接收者通知发送者成功处理事务你可以从头开始NServiceBus逐步理解软件背后的架构概念NServiceBus最优秀的是它提供许多样本代码,你可以下载并运行程序以观察它如何工作并理解所有样本代码运行程序时均有效个人试用三种样本代码

我们先从Publisher-Subscriber程序并使用MSMQ数据持久化发件人和接收人应同时运行同一服务器并可用MSMQ传输数据基于安全规范 源数据库与目标数据库间不会有直接连接改换方法后决定继续serviceBus寄存程序.POC记下所需业务目标,效果非常好, 并添加SQL表依赖性、发件人和接收者所需业务逻辑, 将数据从一个服务器传送到另一个服务器。数据转移处理只需3-5秒serviceBus程序有机制重试发送数据可恢复性文章了解更多

SQL表依赖性应用可跟踪单表,我们不得不跟踪另外5表表中数据与SQL表用户表相关联SQL表依赖监听SQL表依赖性系统不易一应用监控5表,有方法可选,但我们没有投入时间我们从别处入手sql表依赖性监控用户表,我们添加GUID列跟踪记录并推目标服务器表上相同的GUID目标数据库操作基于GUID

触发5表和1审计表跟踪变化触发程序中我们做了两件事情,第一,记录审计表变化并更新用户表,该表由SQL表依赖审计表GUID监控SQL表依赖使用审核表取表修改并传递数据到NServiceBus发送程序

我确信,你将有一个问题 程序如何通知数据变换

MSMQ存储SQL表依赖数据serviceBus发送程序监控MSMQMSMQ中添加的任何记录均由发送程序处理后从MSMQ删除NserviceBusNhibernate寄送器接收器应用程序内部使用SQL数据库处理。它创建新数据库发件人和接收人应都访问数据库

sqlServiceBroker(SQL表依赖性)、寄送器和接收器程序会像Windows服务程序运行并安装到服务器上接收者应用世界某处运行并使用安全VPN访问源和目标数据库

我们创建

  • 触发器
    • 触发插入、更新和删除操作触发程序将增加审计表内事务细节并用SyncID更新用户表
  • 审核表
    • SQLDB同步运算表跟踪上表变化
  • SQL服务代理与SQL表依赖应用
    • 这将跟踪用户表
    • 插入/更新-它会从用户表和同步操作表取值并推向通信队列
  • serviceBus发送器
    • 记录MSMQ
    • MSMQ中添加的任何数据将发送接收器并清除MSMQ
  • serviceBus接收器
    • 接收者接收寄送者发送的数据
    • 数据处理程序与目标数据库同步
    • 数据更新后,接收者会通知发送者成功处理给定数据
  • 存储程序
    • 目标数据库存储过程供表处理数据

还有其他方法解决商务问题,我们使用这个方法基于客户的要求和建议。多亏客户感知器帮助我

sql表依赖/serviceBus