SQL复制(订阅、发布)实践问题记录

关于SQL复制的具体操作步骤网上有很多教程我就不说明了,这里主要记录下我的实践,以及过程中遇到的问题与解决方法:

本机不同数据库间复制

本机配置基本没有遇到太多阻止,只要注意SQL Server和Agent服务的运行账号权限给高一点即可

与虚拟机实例之间实现复制

宿主机版本SQL 2014,虚拟机版本SQL 2012(命名实例),平时要显式加入1433端口才能连接成功。宿主机新建事务复制类型的发布,然后在发布的项目下直接新建对应的订阅,中途要输入连接到虚拟机实例的SQL认证方式。

  1. 订阅配置中不能加入端口号,查找资料发现可以用别名(Aliases)解决:
    这里写图片描述

  2. 删除发布报错
    实验完毕,删除发布时,报错:主体dbo不存在,此主体无法被模拟……,解决方案是更改数据库授权:

ALTER AUTHORIZATION ON DATABASE::DBName TO sa

各类复制的选择策略

  • 快照复制
    更新通常在短期内进行,可整理数据量比较小,可以接受一定时间的滞后

  • 事务复制
    最常用的一种方式,需要较短的同步时间、发布服务器有大量的DML操作、发布/订阅其中之一不是SQL Server数据库(支持Oracle等数据库)

  • 合并复制
    多个数据库分布在不同的地点,每个地点都有数据更新,而且可能会有冲突,存在有节点脱机更新数据,然后重新连接同步的情况,你有检测和解决冲突的能力

  • 点对点复制
    多个数据库分布在不同的地点,基本有一个节点的数据更新,要需要将更新同步到其他数据库,基本不会有数据冲突

猜你喜欢

转载自blog.csdn.net/Benjayming/article/details/80724609