是一种更繁芜的数据复制技能,它许可你选择要复制的表和索引。事务复制通过监视发布数据库的事务日志并将标记为要复制的事务从事务日志复制到分发数据库中。事务复制常日用于将数据从一个做事器复制到另一个做事器。这种办法哀求表必须有主键,且同步粒度为表级。
1.3. Always On须要较高的可用性和自动故障转移
是 SQL Server 2012 中引入的一种高可用性和灾害规复办理方案,它供应了一种替代数据库镜像的企业级方案。Always On 可用性组支持一组读写主数据库以及一至八组对应的赞助数据库。这种技能许可在涌现问题时自动故障转移到一个赞助副本,同时还支持读取缩放,可以将读取负载分布到一个或多个赞助副本上。

以下操作以 SQL Server 2012 为例,数据库信息如下:
Microsoft SQL Server Management Studio 11.0.2100.60
Microsoft 数据访问组件 (MDAC) 10.0.17763.1
Microsoft MSXML 3.0 5.0 6.0
Microsoft Internet Explorer 9.11.17763.0
Microsoft .NET Framework 4.0.30319.42000
操作系统 6.3.17763
3. 详细实现3.1. 事务复制3.1.1. 配置分发 & 创建发布在发布做事器上配置分发,这包括设置分发数据库和分发代理。
在 SQL Server Management Studio 中连接到发布做事器,展开做事器节点。展开「复制」文件夹,右键点击「本地发布」,然后选择「新建发布」。
3.1.1.1. 分发做事器3.1.1.2. 发布数据库3.1.1.3. 发布类型选择「事务发布」
3.1.1.4. 项目
选择要发布的工具,事务发布中的所有表都须要主键列
3.1.1.5. 项目问题
这里列出不能发布的问题列表及缘故原由
3.1.1.6. 筛选表行
这里可以添加一些数据过滤的条件,如果不须要则忽略,进入下一步
3.1.1.7. 快照代理
选择「立即创建快照并使快照保持可用状态,以初始化订阅」,点击下一步
3.1.1.8. 代理安全性
取消勾选「利用快照代理的安全设置」
点击「安全设置」,推举利用 Windows 账户运行,这里为方便选择「在 SQL Server」代理做事账户下运行
3.1.1.9. 完成引导
输入「发布名称」,然后选择「完成」,然后等待发布完成
创建发布时,如果未运行 SQL Server 代理,则可能会碰着以下警告缺点。 此缺点解释已成功创建发布,但快照代理无法启动。
如果发生这种情形,须要启动 SQL Server 代理,然夹帐动启动快照代理。 参考【查看快照代理状态】
3.1.1.10. 查看快照代理状态
如果创建发布时未运行 SQL Server 代理,检讨发布的“快照代理状态”时,将看到快照代理处于“从未运行”状态。 如果是这种情形,则选择「启动」,启动快照代理
3.1.2. 添加订阅
在订阅做事器上添加对发布的订阅。这可以是推送订阅(由发布做事器管理)或拉取订阅(由订阅做事器管理)。
3.1.2.1. 新建订阅右键选择「新建订阅」
3.1.2.2. 分发代理位置
3.1.2.3. 订阅做事器点击「添加订阅做事器」,选择「添加 SQL Server 订阅做事器」
选择「新建数据库」,按哀求填写新的数据库信息
3.1.2.4. 分发代理安全性
常日还是推举利用 Windows 账户运行,这里为方便选择「在 SQL Server代理做事账户下运行」
3.1.2.5. 完成订阅
等待订阅创建完成
3.1.2.6. 查看同步状态
3.1.3. 同步数据日志读取器代理监视发布做事器的事务日志,将新的变动复制到分发数据库中。分发代理然后将这些变动从分发数据库复制到订阅做事器。
3.1.4. 监控复制利用 SQL Server Management Studio (SSMS) 或复制监视器来监控复制的状态和性能。
选择「跟踪令牌」选项卡,点击「插入跟踪器」
经由测试,数据可以正常同步到子库,但是存在延迟滞后,滞后时长如图为8s
3.2. Always On3.2.1. 启用 Always On 可用性组
在 SQL Server 实例上启用 Always On 功能,这常日须要实例是 Windows Server 故障转移群集(WSFC)的节点。
3.2.1.1. 如何确定是否已启用 AlwaysOn 可用性组右键做事器实例,选择「属性」
是否启用 HADR,
True(如果启用了 AlwaysOn 可用性组)
False(如果禁用了 AlwaysOn 可用性组)
3.2.1.2. 启用 AlwaysOn 高可用性
打开SQL Server 配置管理器,右键「SQL Server(MSSQLSERVER)」,选择属性
切换到「Always On 高可用性」标签,勾选「启用 AlwaysOn 可用性组」。
碰着「此打算机不是故障转移群集中的节点」处理办法详见非常处理 4.2
碰着以下问题,须要进行补丁更新
http://thehotfixshare.net/board/index.php?/files/file/15632-windows60-kb2494036-x64msu/
3.2.2. 创建数据库镜像端点
确保每个做事器实例都拥有数据库镜像端点,用于吸收来自其他做事器实例的可用性组连接。
3.2.3. 创建可用性组在承载要添加到可用性组的数据库的 SQL Server 实例上创建可用性组,并指定主副本和赞助副本。
3.2.4. 配置可用性组侦听器:创建可用性组侦听器,以便运用程序可以利用 DNS 名称连接到当前的主副本或配置为接管连接的赞助副本。
3.2.5. 准备赞助数据库在赞助副本的做事器实例上,利用RESTORE WITH NORECOVERY还原主数据库的备份。
3.2.6. 将赞助数据库联接到可用性组在赞助副本的做事器实例上,将赞助数据库联接到可用性组,以开始数据同步。
3.2.7. 配置运行备份作业的位置如果要对赞助数据库实行备份,则必须创建一个备份作业脚本,考虑到自动备份首选项。
3.2.8. 管理可用性组、副本和数据库实行故障转移、监视可用性组的运行状况等任务。
4. 非常处理4.1. 没有找到「配置分发」选项确保 SQL Server 代理做事正在运行。分发配置须要 SQL Server 代理做事来实行复制干系的作业。
4.2. 此打算机不是故障转移群集中的节点4.2.1. 安装故障转移群集功能打开「做事器管理器」,选择「添加角色和功能」,在「功能」页签中勾选「故障转移群集」
4.2.2. 添加节点
打开「故障转移群集管理器」,右键点击你的群集名,然后选择“添加节点”。这将启动一个引导,勾引你完成添加节点的过程。
这里由于没有利用域管理员登录,以是没有群集数据。创建域管理用户详见 4.3
4.2.3. 配置角色
你须要在群集上配置角色(如 Hyper-V、SQL Server 等)。这些角色定义了群集将如何供应做事和资源。
4.3. 若要管理故障转移群集,必须利用域用户账户登录4.3.1. 安装 Active Directory 域做事等待安装完成后重启做事器
这个安装过程中,可能会失落败,我碰着的缺点是「无法完成操作,由于指定的做事器须要重新启动」,反复重启做事器都没有办理。
后来找到办理方案是,将做事「Remote Registry」启动
将此做事器提升为域掌握器
添加新林
键入目录做事器还原模式(DSRM)密码,这里须要强密码,我设置为「7f20!123」
跳过 DNS 选项
默认 NetBIOS 域名和路径
先决条件检讨通过后,点击「安装」,安装完成后,做事器会自动重启
安装完成
4.3.2. 新建域管理账户
设置域管理账户密码
将域管理账户添加到组