快照复制和事务复制的备份和还原策略_第1页
快照复制和事务复制的备份和还原策略_第2页
快照复制和事务复制的备份和还原策略_第3页
快照复制和事务复制的备份和还原策略_第4页
快照复制和事务复制的备份和还原策略_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 快照复制和事务复制的备份和还原策略快照复制和事务复制的备份和还原策略 设计快照和事务复制的备份和还原策略时 需要考虑三个方面 要备份哪些数据库 事务复制的备份设置 还原数据库需要的步骤 这些步骤取决于所选的复制类型和选项 本主题在下面三部分中分别介绍了这三个方面 有关备份和还原 Oracle 发布的信息 请参阅 Oracle 发布服务器的备份和还原 备份数据库备份数据库 对于快照和事务复制 应定期对以下数据库进行备份 发布服务器上的发布数据库 分发服务器上的分发数据库 每台订阅服务器上的订阅数据库 发布服务器 分发服务器和所有订阅服务器上的 master 和 msdb 系统数据库 当备份这 些数据库中的一个数据库或相关的复制数据库时 应同时备份这些数据库 例如 应在备 份发布数据库的同时备份发布服务器上的 master 和 msdb 数据库 如果还原发布数据库 请确保 master 和 msdb 数据库在复制配置和设置方面与发布数据库保持一致 如果执行定期日志备份 则在日志备份中应捕获所有与复制相关的更改 如果不执行日志备份 则 当与复制相关的设置发生更改时 应执行备份 有关详细信息 请参阅需要已更新备份的常用操作 事务复制的备份设置事务复制的备份设置 事务复制包括使用 sync with backup 选项 可以对分发数据库和发布数据库设置此选项 建议您始终对分发数据库设置此选项 对分发数据库设置此选项可以确保发布数据库日志中的事务在分发数据库上备份之前不会 被截断 分发数据库可以还原为上次的备份 并且任何缺失的事务都会从发布数据库传递 到分发数据库 复制将继续 而不会受到任何影响 对分发数据库设置此选项不会影响复制滞后时间 但是 设置该选项后 直到分发数据库 中的相应事务备份已经完成 才会对发布数据库上的日志进行截断 这会导致发布数据 库中生成较大的事务日志 如果应用程序允许额外的滞后时间 则建议您对发布数据库设置此选项 对发布数据库设置此选项可以确保事务在发布数据库上备份之前不会传递到分发数据库 2 这样上次的发布数据库备份就可以在发布服务器上还原 而分发数据库不可能具有已还原 发布数据库所没有的事务 由于事务在发布服务器上备份之前无法传递到分发数据库 因此会影响滞后时间和吞吐量 例如 如果事务日志每五分钟备份一次 则在发布服务器上提交事务与将事务依次传递到 分发数据库和订阅服务器之间会另有五分钟的滞后时间 注意 注意 sync with backup 选项可确保发布数据库和分发数据库之间的一致性 但此选项不能保证数据不 丢失 例如 如果事务日志丢失 则在发布数据库或分发数据库中没有上次事务日志备份后提交的 事务 这与非复制数据库的行为相同 设置设置 sync with backup 选项选项 复制 Transact SQL 编程 如何为事务复制启用协调备份 复制 Transact SQL 编程 还原复制中涉及的数据库还原复制中涉及的数据库 如果最近的备份可用并且遵循正确的步骤 则可以还原复制拓扑中的所有数据库 发布数据库的还 原步骤取决于复制类型和所用的选项 但所有其他数据库的还原步骤与类型和选项无关 复制支持将复制的数据库还原到从中创建备份的同一服务器和数据库 如果将复制数据库的备份还 原到其他服务器或数据库 则无法保留复制设置 在这种情况下 您必须在还原备份后重新创建所 有发布和订阅 发布服务器发布服务器 下面介绍了下列类型复制的还原步骤 快照复制 只读事务复制 带有更新订阅的事务复制 对等事务复制 本部分还介绍了 msdb 和 master 数据库的还原步骤 这些步骤与所有四种复制类型的还原步骤 相同 发布数据库 快照复制发布数据库 快照复制 1 还原发布数据库的最新备份 转到步骤 2 2 发布数据库备份是否包含所有发布和订阅的最新配置 如果是 则还原已完成 如果不是 则转到步骤 3 3 3 从发布服务器 分发服务器和订阅服务器中删除复制配置 然后重新创建配置 还原完成 有关如何删除复制的详细信息 请参阅删除复制和 sp removedbreplication Transact SQL 发布数据库 只读事务复制发布数据库 只读事务复制 1 还原发布数据库的最新备份 转到步骤 2 2 是否在故障发生前对发布数据库启用了 sync with backup 设置 如果是 则转到步骤 3 如果不是 则转到步骤 5 如果此设置已启用 查询 SELECT DATABASEPROPERTYEX IsSyncWithBackup 将返回 1 3 原的备份是否已完成并且是最新的 它是否包含所有发布和订阅的最新配置 如果是 则还原已完成 如果不是 则转到步骤 4 4 还原的发布数据库中的配置信息不是最新的 因此 必须确保订阅服务器包含分发数据库 中所有未完成的命令 然后删除并重新创建复制配置 1 运行分发代理 直到所有订阅服务器都与分发数据库中的未完成命令同步 通过使 用复制监视器中的 未分发的命令未分发的命令 选项卡或通过查询分发数据库中的 MSdistribution status 视图 确保所有命令都已传递到订阅服务器 转到步骤 b 有关如何运行分发代理的详细信息 请参阅如何启动和停止复制代理 SQL Server Management Studio 和复制代理可执行文件概念 有关如何验证命令的详细信息 请参阅如何查看分发数据库中复制的命令和其他信 息 复制 Transact SQL 编程 和如何查看与订阅相关的代理的信息并执行此代理 的任务 复制监视器 2 从发布服务器 分发服务器和订阅服务器中删除复制配置 然后重新创建配置 重 新创建订阅时 指定订阅服务器已包含数据 还原完成 有关如何删除复制的详细信息 请参阅删除复制和 sp removedbreplication Transact SQL 有关如何指定订阅服务器已包含数据的详细信息 请参阅如何手动初始化订阅 SQL Server Management Studio 和如何手动初始化订阅 复制 Transact SQL 编 程 5 未对发布数据库设置 sync with backup 选项 因此 还原备份中不包括的事务可能已传 递到分发服务器和订阅服务器 现在必须确保订阅服务器包含分发数据库中所有未完成的 命令 然后手动将还原备份中未包含的所有事务都应用到发布数据库 重要提示 重要提示 执行此过程会导致已发布的表还原到的时间点晚于从备份还原的其他未发布表的时间点 1 运行分发代理 直到所有订阅服务器都与分发数据库中的未完成命令同步 通过使 用复制监视器中的 未分发的命令未分发的命令 选项卡或通过查询分发数据库中的 MSdistribution status 视图 确保所有命令都已传递到订阅服务器 转到步骤 b 4 有关如何运行分发代理的详细信息 请参阅如何启动和停止复制代理 SQL Server Management Studio 和复制代理可执行文件概念 有关如何验证命令的详细信息 请参阅如何查看分发数据库中复制的命令和其他信 息 复制 Transact SQL 编程 和如何查看与订阅相关的代理的信息并执行此代理 的任务 复制监视器 2 使用 tablediff 实用工具或其他工具手动将发布服务器和订阅服务器同步 这使您 能够从订阅数据库恢复发布数据库备份中未包含的数据 转到步骤 c 有关 tablediff 实用工具的详细信息 请参阅如何比较所复制表的差异 复制编程 3 还原的备份是否已完成并且是最新的 它是否包含所有发布和订阅的最新配置 如 果是 执行 sp replrestart 存储过程 使发布服务器元数据与分发服务器元数据重 新同步 还原完成 如果不是 则转到步骤 d 4 从发布服务器 分发服务器和订阅服务器中删除复制配置 然后重新创建配置 重 新创建订阅时 指定订阅服务器已包含数据 还原完成 有关如何删除复制的详细信息 请参阅删除复制和 sp removedbreplication Transact SQL 有关如何指定订阅服务器已包含数据的详细信息 请参阅如何手动初始化订阅 SQL Server Management Studio 和如何手动初始化订阅 复制 Transact SQL 编 程 发布数据库 带有更新订阅的事务复制发布数据库 带有更新订阅的事务复制 1 还原发布数据库的最新备份 转到步骤 2 2 运行分发代理 直到所有订阅服务器都与分发数据库中的未完成命令同步 通过使用复制 监视器中的 未分发的命令未分发的命令 选项卡或通过查询分发数据库中的 MSdistribution status 视图 确保所有命令都已传递到订阅服务器 转到步骤 3 有关如何运行分发代理的详细信息 请参阅如何启动和停止复制代理 SQL Server Management Studio 和复制代理可执行文件概念 有关如何验证命令的详细信息 请参阅如何查看分发数据库中复制的命令和其他信息 复 制 Transact SQL 编程 和如何查看与订阅相关的代理的信息并执行此代理的任务 复制监 视器 3 如果使用的是排队更新订阅 则连接到每台订阅服务器 并从订阅数据库中的 MSreplication queue Transact SQL 表中删除所有行 转到步骤 4 注意 注意 如果使用的是排队更新并且任何表中都包含标识列 则必须确保还原后分配正确的标识范围 有关 详细信息 请参阅复制标识列 4 现在必须确保订阅服务器包含分发数据库中所有未完成的命令 然后手动将还原备份中未 包含的所有事务都应用到发布数据库 重要提示 重要提示 5 执行此过程会导致已发布的表还原到的时间点晚于从备份还原的其他未发布表的时间点 1 运行分发代理 直到所有订阅服务器都与分发数据库中的未完成命令同步 通过使 用复制监视器或通过查询分发数据库中的 MSdistribution status 视图 确保所有 命令都已传递到订阅服务器 转到步骤 b 2 使用 tablediff 实用工具 或其他工具手动将发布服务器和订阅服务器同步 这使 您能够从订阅数据库恢复发布数据库备份中未包含的数据 转到步骤 c 有关 tablediff 实用工具的详细信息 请参阅如何比较所复制表的差异 复制编程 3 还原的备份是否已完成并且是最新的 它是否包含所有发布和订阅的最新配置 如 果是 执行 sp replrestart 存储过程 使发布服务器元数据与分发服务器元数据重 新同步 还原完成 如果不是 则转到步骤 d 4 从发布服务器 分发服务器和订阅服务器中删除复制配置 然后重新创建配置 重 新创建订阅时 指定订阅服务器已包含数据 还原完成 有关如何删除复制的详细信息 请参阅删除复制和 sp removedbreplication Transact SQL 有关如何指定订阅服务器已包含数据的详细信息 请参阅如何手动初始化订阅 SQL Server Management Studio 和如何手动初始化订阅 复制 Transact SQL 编 程 发布数据库 对等事务复制发布数据库 对等事务复制 在下列步骤中 复制数据库 A B 和 C 位于对等事务复制拓扑中 数据库 A 和 C 处于联机状态 并且可以正常工作 数据库 B 是要还原的数据库 在此介绍的过程 尤其是步骤 7 10 和 11 非常类似于向对等拓扑添加节点时所需的过程 执行这些步骤最简单的方法是使用配置对等拓扑向 导 有关详细信息 请参阅如何配置对等事务复制 SQL Server Management Studio 还可以使用 存储过程 有关详细信息 请参阅如何配置对等事务复制 复制 Transact SQL 编程 1 运行分发代理同步数据库 A 和 C 上的订阅 转到步骤 2 有关如何运行分发代理的详细信息 请参阅如何启动和停止复制代理 SQL Server Management Studio 和复制代理可执行文件概念 2 如果 B 使用的分发数据库仍可用 请运行分发代理同步数据库 B 和 A 之间的订阅以及 数据库 B 和 C 之间的订阅 转到步骤 3 3 通过在 B 的分发数据库上执行 sp removedistpublisherdbreplication 从 B 使用的分发 数据库中删除元数据 转到步骤 4 4 在数据库 A 和 C 上 删除对数据库 B 上的发布的订阅 转到步骤 5 有关如何删除订阅的详细信息 请参阅订阅发布 5 对数据库 A 执行日志备份或完整备份 转到步骤 6 6 在数据库 B 上还原数据库 A 的备份 数据库 B 现在包含数据库 A 中的数据 但没有复 制配置 将备份还原到其他服务器时 将删除复制 因此复制已从数据库 B 中删除 转到 步骤 7 7 在数据库 B 上重新创建发布 然后在数据库 A 和 B 之间重新创建订阅 涉及数据库 C 的订阅将在后面的阶段进行处理 1 在数据库 B 上重新创建发布 转到步骤 b 6 2 在数据库 B 上重新创建对数据库 A 上的发布的订阅 同时指定该订阅应使用备 份进行初始化 sp addsubscription 的 sync type 参数的值为 initialize with backup 转到步骤 c 3 在数据库 A 上重新创建对数据库 B 上的发布的订阅 同时指定订阅服务器已包 含数据 sp addsubscription 的 sync type 参数的值为 replication support only 转到步骤 8 8 运行分发代理同步数据库 A 和 B 上的订阅 如果已发布的表中有任何标识列 则转到步 骤 9 如果没有 则转到步骤 10 9 还原后 为数据库 A 中的每个表分配的标识范围在数据库 B 中也可以使用 确保还原的 数据库 B 已收到发生故障的数 库 B 中的且传播到数据库 A 和数据库 C 的所有更改 然后重设每个表的标识范围种子 1 在数据库 B 上执行 sp requestpeerresponse 并检索输出参数 request id 转到步骤 b 2 默认情况下 分发代理设置为连续运行 因此 令牌应该自动发送到所有节点 如 果分发代理未以连续模式运行 请运行该代理 有关详细信息 请参阅复制代理可 执行文件概念或如何启动和停止复制代理 SQL Server Management Studio 转 到步骤 c 3 执行 sp helppeerresponses 同时提供在步骤 b 中检索到的 request id 值 请等到所有节点都指示它们已收到对等方的请求 转到步骤 d 4 使用 DBCC CHECKIDENT 在数据库 B 中对每个表重设种子以确保使用适当的范 围 转到步骤 10 有关如何管理标识范围的详细信息 请参阅复制标识列中的 为手动标识范围管理分配范围 部分 10 此时 数据库 B 和数据库 C 没有直接连接 但它们将通过数据库 A 接收更改 如果拓 扑包含任何运行 SQL Server 2005 的节点 则转到步骤 11 否则转到步骤 12 11 使系统静止 然后重新创建数据库 B 和 C 之间的订阅 使系统静止包括停止所有节点上 已发布表的活动 并确保每个节点都已收到来自所有其他节点的所有更改 1 停止对等拓扑中已发布表上的所有活动 转到步骤 b 2 在数据库 B 上执行 sp requestpeerresponse 并检索输出参数 request id 转到步骤 c 3 默认情况下 分发代理设置为连续运行 因此 令牌应该自动发送到所有节点 如 果分发代理未以连续模式运行 请运行该代理 转到步骤 d 4 执行 sp helppeerresponses 同时提供在步骤 b 中检索到的 request id 值 请等到所有节点都指示它们已收到对等方的请求 转到步骤 e 5 在数据库 B 上重新创建对数据库 C 上的发布的订阅 同时指定订阅服务器已包 含数据 转到步骤 b 6 在数据库 C 上重新创建对数据库 B 上的发布的订阅 同时指定订阅服务器已包 含数据 转到步骤 13 12 在数据库 B 和 C 之间重新创建订阅 1 在数据库 B 上 查询 MSpeer lsns 表 以检索数据库 B 从 C 收到的最近事务 的日志序列号 LSN 7 2 在数据库 B 上重新创建对数据库 C 上的发布的订阅 同时指定该订阅应基于 LSN 进行初始化 sp addsubscription 的 sync type 参数的值为 initialize from lsn 转到步骤 b 3 在数据库 C 上重新创建对数据库 B 上的发布的订阅 同时指定订阅服务器已包 含数据 转到步骤 13 13 运行分发代理同步数据库 B 和 C 上的订阅 还原完成 msdb 数据库 发布服务器 数据库 发布服务器 1 还原 msdb 数据库的最新备份 2 还原的备份是否已完成并且是最新的 它是否包含所有发布和订阅的最新配置 如果是 则恢复完成 如果不是 则转到步骤 3 3 从复制脚本重新创建订阅清除作业 恢复完成 master 数据库 发布服务器 数据库 发布服务器 1 还原 master 数据库的最新备份 2 确保该数据库在复制配置和设置方面与发布数据库一致 分发服务器上的数据库分发服务器上的数据库 分发数据库分发数据库 1 还原分发数据库的最新备份 2 是否在故障发生前对分发数据库启用了 sync with backup 设置 如果是 则转到步骤 3 如果不是 则转到步骤 4 如果此设置已启用 查询 SELECT DATABASEPROPERTYEX IsSyncWithBackup 将返回 1 3 还原的备份是否已完成并且是最新的 它是否包含所有发布和订阅的最新配置 如果是 则恢复完成 如果不是 则转到步骤 4 4 已还原的分发数据库中的配置信息不是最新的 或未对分发数据库设置 sync with backup 选项 还原后 分发数据库可能会丢失已在发布服务器上提交但尚未传递到订阅服务器 的事务 删除并重新创建复制 然后运行验证 1 从发布服务器 分发服务器和订阅服务器中删除复制配置 然后重新创建配置 重 新创建订阅时 指定订阅服务器已包含数据 转到步骤 b 有关如何删除复制的详细信息 请参阅删除复制和 sp removedbreplication Transact SQL 有关如何指定订阅服务器已包含数据的详细信息 请参阅如何手动初始化订阅 SQL Server Management Studio 和如何手动初始化订阅 复制 Transact SQL 编 程 2 将所有发布标记为要验证 重新初始化所有验证失败的订阅 恢复完成 有关验证的详细信息 请参阅验证已复制的数据 有关重新初始化的详细信息 请 参阅重新初始化订阅 8 msdb 数据库 分发服务器 数据库 分发服务器 1 还原 msdb 数据库的最新备份 2 还原的备份是否已完成并且是最新的 它是否包含所有发布和订阅的最新配置 如果是 则恢复完成 如果不是 则转到步骤 3 3 从发布服务器 分发服务器和订阅服务器中删除复制配置 然后重新创建配置 重新创建 订阅时 指定订阅服务器已包含数据 转到步骤 4 有关如何删除复制的详细信息 请参阅删除复制和 sp removedbreplication Transact SQL 有关如何指定订阅服务器已包含数据的详细信息 请参阅如何手动初始化订阅 SQL Server Management Studio 和如何手动初始化订阅 复制 Transact SQL 编程 4 将所有发布标记为要验证 重新初始化所有验证失败的订阅 恢复完成 有关验证的详细信息 请参阅验证已复制的数据 有关重新初始化的详细信息 请参阅重 新初始化订阅 master 数据库 分发服务器 数据库 分发服务器 1 还原 master 数据库的最新备份 2 确保该数据库在复制配置和设置方面与发布数据库一致 订阅服务器上的数据库订阅服务器上的数据库 订阅数据库订阅数据库 1 最新的订阅数据库备份是否晚于分发数据库上的最大分发保持期设置 这可确定分发服 务器是否仍具有使订阅服务器保持最新所需的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论