更新记录
转载请注明出处:https://www.cnblogs.com/cqpanda/p/16556438.html
2022年8月8日 发布。
2022年8月6日 从笔记迁移到博客。
SQL Server 复制(Replication)
复制概述
复制的类型
概述
快照复制
事务复制
合并复制
Oracle发布
对等复制
快照复制
说明
如同其名称,是一份执行复制时数据与数据库对象的快照
按指定的时间间隔生成一份数据快照,然后发送到订阅的服务器
快照复制是单向的数据复制
快照复制发送的是整个数据集,并不跟踪DML变更
因为不跟踪DML变更,可以提升性能
如果快照非常打,数据分发到目的地将是一个很长的过程
适合场景
复制、迁移少量数据
以较长周期(每日、每晚)进行数据复制的场景
数据更新频率不高的场景
高延迟场景,不适合实时性要求高的场景
事务复制
说明
事务复制也是由快照复制开始
当发布服务器上的初始快照数据与架构发生变化时,异步(有序)地分发给服务器
订阅服务器接收到变更事务,从而保证了与发布服务器数据一致
事务复制是单向的数据复制
适合场景
几乎实时地将数据发布到一个或多个订阅服务器
数据量有持续的增长
有大量事务性数据,或者更新频繁
将数据变化连续的发送给订阅服务器
适合于一台服务器作为数据源,另一台作为数据备份或其他任务的服务器的场景
合并复制(Merge Replication)
说明
合并复制也是由快照复制开始
使用触发器跟踪发布服务器和订阅服务器上的数据和架构变更
订阅服务区再连接到网络时将于发布服务器进行同步
交换自上次同步以来发布服务器和订阅服务器之间发生更新的所有行
在发布者和订阅者之间复制差异
合并复制是双向的数据复制
适合场景
Oracle发布
一般用于将Oracle数据库迁移到SQL Server数据库
对等复制
复制代理
说明
在服务器之间复制移动数据和数据库对象是一个巨大工程
可以使用复制代理辅助完成该工作
SQL Server支持的4中代理:
快照代理
分发代理
日志读取器代理
合并代理
快照代理
说明
各类复制都是用快照来进行复制进程
快照代理产生快照文件
快照文件包含需要的数据和数据库对象
快照代理将全部数据写入到文件中
快照代理运行在SQL Server发布服务器实例上
分发代理
用于快照和事务复制中
快照复制使用分发代理将生成的快照分发给所有的订阅服务器
事务复制使用分发代理将快照和变更分发给订阅服务器
分发代理运行在分发服务器的SQL Server实例上,用来推送订阅内容
分发代理运行在订阅服务器的SQL Server实例上,用来请求订阅内容
日志读取器代理
日志读取代理仅用于事务复制
将发布服务器上的事务日志编辑为复制事务移动到分发数据库中
合并代理
合并代理仅用于合并复制中
合并代理将初始快照和发布服务器上的后续更新推送到订阅服务器
合并代理检测源(发布服务器)与目的(订阅服务器)上自最近一次按计划运行的合并代理以来发生的更新
配置SQL Server复制
说明
典型的复制拓扑结构至少有一台发布服务器与一台订阅服务器组成
配置复制-使用SSMS
配置分发
进入服务器的配置分发页面
选择作为分发服务器的服务器
设置分发代理是否为自动启动
配置快照文件夹
配置分发数据库的名称和数据位置
接下来按默认的配置项,直接按下一步即可
配置事务发布服务器
进入指定数据库的复制页面
选择指定的数据库
选择分发的类型(这里选择事务发布作为测试)
选择要分发的对象
筛选排除不分发的数据,如果没有就直接点击下一步
指定何时运行代理
配置代理的安全设置
设置向导完成后执行的操作
配置事务订阅服务器
新建数据库用于接收数据
USE master;
CREATE DATABASE PandaReceiver;
进入订阅界面,新建订阅
查找和指定事务发布服务器
设置订阅的方式
选择接收订阅的数据库
设置安全选项
设置代理的运行方式
初始化订阅的数据
监控复制
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/database/279541.html