SQL Server数据库复制

事务复制

事务复制是一种复制类型,对订阅服务器上应用的初始数据快照,然后当发布服务器上发生数据修改时,将捕获到个别的事务并传播到订阅服务。

事务复制的原理是先将发布服务器数据库中的初始快照发送到各订阅服务器,然后监控发布服务器数据库中数据发生的变化,捕获个别数据变化的事务并将变化的数据发送到订阅服务器。为了保证变化的数据能准确而及时的发送到订阅服务器上,发布服务器和订阅服务器之间的网络连接必须是可靠且连续的。

事务复制通常用于服务器到服务器环境中,在以下各种情况下适合采用事务复制:
希望发生增量更改时将其传播到订阅服务器。
从发布服务器上发生更改,至更改到达订阅服务器,应用程序需要这两者之间的滞后时间较短。
应用程序需要访问中间数据状态。 例如,如果某一行更改了五次,事务复制将允许应用程序响应每次更改(例如,激发触发器),而不只是响应该行最终的数据更改。
发布服务器有大量的插入、更新和删除活动。
发布服务器或订阅服务器不是 SQL Server 数据库(例如,Oracle)。
默认情况下,事务发布的订阅服务器应视为只读,因为更改将不会传播回发布服务器。 但是,事务复制确实提供了允许在订阅服务器上进行更新的选项。
 
博客园博客:
事务复制目的:分散主库的负载,用于报表服务数据源和读写分离
 

一、背景

  在复制的运用场景中,事务发布是使用最为广泛的,我遇到这样一个场景:在Task数据库中有Basic与Group两个表,需要提供这两个表的部分字段给其它程序读取放入缓存,程序需要比较及时的获取到这些数据,作为DBA你需要从权限和性能控制的角度出发,我采用了SQL Server的事务复制技术和timestamp,下面只讲述事务复制的搭建过程;

读写分离知识点:

1)浅谈命令查询职责分离(CQRS)模式

2)一台服务器如何做MS SQL Server2012的读写分离? 博问地址:https://q.cnblogs.com/q/85548/

 
上一篇:How to build your custom release bazel version?


下一篇:C# datagridview 与 binddingNavigator & BindingSource实现联动,实现单表查看修改保存一例