• SQL Server教程 - SQL Server 复制(Replication)


    更新记录
    转载请注明出处: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

    配置分发

    进入服务器的配置分发页面image

    选择作为分发服务器的服务器image

    设置分发代理是否为自动启动image

    配置快照文件夹image

    配置分发数据库的名称和数据位置image

    接下来按默认的配置项,直接按下一步即可

    配置事务发布服务器

    进入指定数据库的复制页面image

    选择指定的数据库image

    选择分发的类型(这里选择事务发布作为测试)image

    选择要分发的对象image

    筛选排除不分发的数据,如果没有就直接点击下一步image

    指定何时运行代理image

    配置代理的安全设置image

    设置向导完成后执行的操作image

    配置事务订阅服务器

    新建数据库用于接收数据

    1. USE master;
    2. CREATE DATABASE PandaReceiver;

    进入订阅界面,新建订阅

    image

    查找和指定事务发布服务器image

    设置订阅的方式image

    选择接收订阅的数据库image

    设置安全选项image

    设置代理的运行方式image

    初始化订阅的数据image

    监控复制image

  • 相关阅读:
    php mb_strpos() 函数详解
    1、TypeScript介绍
    作为资深Mac用户,那些相见恨晚的软件
    【D3.js】1.15-反转 SVG 元素
    入门指南:Element UI 组件的安装及使用
    基于Node.js的博客文章管理系统设计与实现
    98. 一台服务器能支持多少QPS
    java毕业设计宠物咖啡馆平台系统mybatis+源码+调试部署+系统+数据库+lw
    【INTEL(ALTERA)】Nios II软件开发人员手册中设计位置的错误示例
    nacos入门
  • 原文地址:https://blog.csdn.net/weixin_38304160/article/details/126221461