SQL Server ->> 高可用与灾难恢复(HADR)技术之 -- Transaction Replication(事务复制)
复制类型:
1)事务型复制:通过复制事务日志到订阅点重做的方式,属于增量型复制;
2)合并型复制:通过触发器和元数据表追踪表数据改变,同样属于增量型复制;
3)快照型复制:通过创建数据库快照,并把快照复制到目标点,覆盖订阅端数据库,不追踪数据改变,属于替换型复制;
复制代理:一组SQL SERVER Agent Jobs用于整个复制过程中完成某个任务
分发代理:用于快照型复制和事务型复制,用于把初始化快照和事务日志分发到订阅服务器。它存在分发服务器或者订阅服务器取决于是推(Push)或者拉(Pull);
复制日志读取器代理:用于事务型复制,将发布服务器上数据库的事务日志中标记为复制的日志块复制到分发服务器上。它存在分发服务器上。每个数据库都有独立的代理。
复制合并代理:用于合并型复制,将初始化快照和增量更新数据复制到订阅服务器。合并代理可以是在分发服务器上(Push),也可以在订阅服务器上(Pull)。合并代理将订阅服务器上的更改应用到发布服务器,然后将发布服务器上的更改下载到订阅服务器。
复制队列读取器代理:队列读取器代理用于包含排队更新选项的事务复制,用于分发服务器,并将订阅服务器上所做更改移回至发布服务器。只有一个队列读取器代理的实例为给定分发数据库的所有发布服务器和发布提供服务。
复制快照代理:复制包含许多执行计划维护和按需维护的维护作业。
重新发布数据
在重新发布模式中,发布服务器将数据发送到订阅服务器,后者将数据重新发布到任意数目的其他订阅服务器。 当发布服务器必须通过低速或昂贵的通信链接向订阅服务器发送数据时,这很有用。 如果在链接的远端有许多订阅服务器,那么使用重新发布服务器可将大量分发负荷转移到链接的远端。
安全性
数据库数据传输加密
安全实体权限控制和数据访问控制
角色管理
筛选发布数据
管理
备份和还原复制的数据库
复制支持将复制的数据库还原到从中创建备份的同一服务器和数据库。 如果将复制数据库的备份还原到其他服务器或数据库,则无法保留复制设置。在这种情况下,您必须在还原备份后重新创建所有发布和订阅。
备份发布服务器、分发服务器和所有订阅服务器上的 master 和 msdb 系统数据库和发布数据库、订阅数据库和分发数据库。
如果执行定期日志备份,则在日志备份中应捕获所有与复制相关的更改。 如果不执行日志备份,则当与复制相关的设置发生更改时,应执行备份。
验证已复制的数据
对于事务复制和合并复制,可以验证订阅服务器中的数据与发布服务器中的数据是否匹配。分发代理或合并代理便会在下次运行时验证数据。
有两种验证类型可选:RowCount Only和RowCount and binary Checksum。
除了验证订阅服务器和发布服务器上的数据是否匹配之外,合并复制还提供验证每个订阅服务器上的数据是否正确分区的功能。
使用tablediff工具来比较所复制的表的差异
通过SQL SSERVER AGENT服务的Alert功能配置复制警报
复制:代理成功
复制:代理失败
复制:代理重试
复制:已删除过期的订阅
复制:验证失败后重新初始化了订阅
复制:订阅服务器未通过数据验证
复制:订阅服务器已通过数据验证
复制:代理自定义关闭
为事务复制启用协调备份
在为数据库启用事务复制时,对分发数据库启用协调备份,以便在传播到分发服务器的事务未备份前不会截断发布数据库的事务日志。
筛选已发布数据
最大程度地减少通过网络发送的数据量,减少订阅服务器上需要的存储空间量,避免传输敏感数据。
复制提供了四种筛选器:
静态行筛选器,列筛选器,参数化行筛选器(仅适用于合并复制),联接筛选器(仅适用于合并复制)。
复制标识列
若要在多个节点上都有更新的复制拓扑中使用标识列,复制拓扑中的每个节点都必须使用不同范围的标识值,以避免出现重复。复制在每个订阅服务器上插入数据时,不会增加订阅服务器表中的标识列值,而是插入文字值 65。 仅用户插入,而复制代理不插入,将导致标识列值增加。手动管理列或由复制自动管理列。自动类型用于在订阅服务器上进行更新的合并复制和事务复制。指定发布服务器和订阅服务器的大小范围,复制将自动管理新范围的分配。手动用于订阅服务器上不进行更新的快照和事务复制,如果指定手动管理,则必须确保将范围分配给发布服务器和每个订阅服务器,还要确保在使用初始范围时,新范围已分配。
复制支持对已发布对象进行多种架构更改。 对 Microsoft SQL Server 发布服务器中相应的已发布对象进行以下任何架构更改时,默认情况下更改都将传播到所有 SQL Server 订阅服务器:ALTER TABLE,ALTER PROCEDURE,ALTER VIEW,ALTER FUNCTION。合并复制禁止在订阅服务器中进行架构更改。不支持显式添加、删除或更改索引。 支持为约束(如主键约束)隐式创建的索引。不支持更改或删除由复制管理的标识列。
复制支持分区,提供了一组属性来指定如何处理已分区表和索引。事务复制和合并复制不支持复制下列命令:ALTER INDEX 的 ALTER PARTITION FUNCTION、ALTER PARTITION SCHEME 或 REBUILD WITH PARTITION 语句。 与之关联的更改将不会自动复制到订阅服务器。 它要求用户在订阅服务器上手动进行类似更改。复制支持分区切换。对于事务复制,将 @allow_partition_switch和@replicate_partition_switch设置为 true
参考:
SQL Server ->> 高可用与灾难恢复(HADR)技术之 -- Transaction Replication(事务复制)的更多相关文章
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之AlwaysOn可用性组搭建
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn(实战篇)之建立活动目录域、DNS服务器和Windows故障转移群集(准备工作)
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术 -- AlwaysOn可用性组(理论篇)
因为篇幅原因,AlwaysOn可用性组被拆成了两部分:理论部分和实战部分.而实战部分又被拆成了准备工作和AlwaysOn可用性组搭建. 三篇文章各自的链接: SQL Server ->> ...
- SQL Server ->> 高可用与灾难恢复(HADR)技术之 -- Windows故障转移群集
WSFC 群集 (WSFC cluster)“Windows Server 故障转移群集”(WSFC) 群集是一组独立的服务器,它们共同协作以提高应用程序和服务的可用性. 故障转移群集实例 (Fail ...
- SQL Server高可用——日志传送(4-1)——概论
原文:SQL Server高可用--日志传送(4-1)--概论 本文作为学习总结,部分内容出自联机丛书及其他书籍 日志传送是什么? SQLServer 2012之前(2012出现了AlwaysOn), ...
- 深入解析 SQL Server 高可用镜像实现原理
作者:郭忆 本文由 网易云 发布. SQL Server 是 windows 平台 .NET 架构下标配数据库解决方案,与 Oracle.MySQL 共同构成了 DB-Engines Ranking ...
- 深入解析SQL Server高可用镜像实现原理
本文来自网易云社区 SQL Server 是windows平台.NET架构下标配数据库解决方案,与Oracle.MySQL共同构成了DB-Engines Ranking的第一阵营,在国内外企业市场中有 ...
- 京东云数据库RDS SQL Server高可用概述
数据库的高可用是指在硬件.软件故障发生时,可以将业务从发生故障的数据库节点迁移至备用节点.本文主要讲述SQL Server高可用方案,以及京东云RDS数据库的高可用实现. 一.高可用解决方案总览 1. ...
- SQL Server高可用——日志传送(4-3)——使用
原文:SQL Server高可用--日志传送(4-3)--使用 顺接上一篇:SQL Server高可用--日志传送(4-2)--部署 本文为本系列最重要的一篇,讲述如何使用日志传送及一些注意事项.从上 ...
随机推荐
- RabbitMQ初学之一:exchange与queue的绑定
最近公司需要使用RabbitMQ,但我之前一直使用的是ActiveMQ,对RabbitMQ进行了初步的学习,但是还不系统,自己做了一些小测试,怕自己以后忘了 一. 背景 拿到代码以后,发现,生产者在向 ...
- JS中typeof和instanceof的用法和区别
typeof和instanceof的区别 instanceof 常用来判断一个变量是否为空,或者是什么类型的.但它们之间还是有区别的 instanceof的用法 instanceof返回的是一个布尔值 ...
- 部署rails遇到问题
underfined method for has_attched_file when installing paperclip 解决 create the file paperclip.rb ins ...
- Linux文件夹打包发送到本地
tar -cvf script.tar scriptsz script.tar 具体: sz/rz命令: 一般来说,linux服务器大多是通过ssh来进行远程的登陆和管理的,如何在命令方式下上传和 ...
- CSS小技巧(一)
左右布局 将内部的子元素加浮动,父元素清除浮动即可. 代码: <!DOCTYPE html> <html> <head> <title>test< ...
- css3 响应式布局 Media Query
1.什么是响应式布局? 响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简单说就是一个网站能够兼容多个终端. 2.响应式布局的优缺点? 优点:面对不同分辨率设备灵活性强,快捷 ...
- .NET中的集合-ArrayList2
数组特点:类型同统一,长度固定 集合常用操作 添加 遍历 移除 ArrayList可变长度数组,使用类似于数组 属性:capacity(集合中可以容纳元素的个数,翻倍增长)count(集合中实际存放的 ...
- VS中特殊的注释——TODO/UNDONE/HACK的使用
在代码的后面添加形如下面注释: //TODO: (未实现)…… //UNDONE:(没有做完)…… //HACK:(修改)…… 等到再次打开VS的时候,找到 :视图>任务列表 即可显示所有带有T ...
- 01 使用Git基本方法
什么是Git? Git是目前世界上最先进的分布式版本控制系统(没有之一). 你得先有一个Git仓库,才能进行操作.创库就是Git存放你要保存的快照的数据的地方. 拥有一个Git仓库,有两种方法. 创建 ...
- java类加载机制及方法调用
类加载机制 概述 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading).验证(Verification).准备(Preparation).解析(Resoluti ...