数据库镜像的前提条件和建议

更新日期: 2006 年 12 月 12 日

本主题说明了设置数据库镜像的必备条件和建议。有关数据库镜像的介绍,请参阅数据库镜像概述

ms366349.note(zh-cn,SQL.90).gif注意:
在 64 位和 32 位环境中,SQL Server 磁盘存储格式均相同。因此,数据库镜像会话可以将在 32 位环境中运行的服务器实例和在 64 位环境中运行的服务器实例组合在一起。

限制

在 32 位系统上,由于受每个数据库镜像会话所占用的工作线程数限制,对于每个服务器实例,数据库镜像最多支持 10 个数据库。

跨数据库事务和分布式事务均不支持数据库镜像。有关详细信息,请参阅数据库镜像和跨数据库事务

必备条件

在设置数据库镜像之前,必须执行以下步骤:

  • 确保两个伙伴(主体服务器和镜像服务器)运行相同版本的 Microsoft SQL Server 2005。两个伙伴需要运行 SQL Server 2005 Standard Edition 或 SQL Server 2005 Enterprise Edition。
  • 如果使用见证服务器,则确保在其系统上安装 SQL Server 2005。见证服务器可以在支持 SQL Server 2005 Standard Edition、Enterprise Edition、Workgroup Edition 或 Express Edition 的任何可靠计算机系统中运行。
  • 验证镜像服务器能为镜像数据库提供足够的磁盘空间。
    ms366349.note(zh-cn,SQL.90).gif注意:
    有关如何对复制数据库使用数据库镜像的信息,请参阅复制和数据库镜像
  • 在镜像服务器上创建镜像数据库时,请确保指定相同数据库名称 WITH NORECOVERY 来还原主体数据库备份。另外,还必须通过 WITH NORECOVERY 应用在该备份执行后创建的所有日志备份。
    ms366349.note(zh-cn,SQL.90).gif重要提示:
    如果数据库镜像已经停止,则必须将对主体数据库执行的所有后续日志备份应用到镜像数据库中,然后才可以重新启动镜像。
  • 数据库镜像可使用任意支持的数据库兼容级别。有关支持的兼容级别的信息,请参阅 sp_dbcmptlevel (Transact-SQL)

配置伙伴服务器的建议

  • 应该在可以处理相同工作负荷的类似系统上运行伙伴。
    ms366349.note(zh-cn,SQL.90).gif注意:
    如果计划使用具有自动故障转移功能的高安全性模式,则每个故障转移伙伴上的正常加载应使用小于 50% 的 CPU。如果工作负荷超过 CPU 负荷,则故障转移伙伴可能无法 ping 镜像会话中的其他服务器实例,从而导致不必要的故障转移。如果无法保持 CPU 使用率始终在 50% 以下,则建议使用不带自动故障转移功能的高安全性模式或使用高性能模式。
  • 如有可能,镜像数据库的路径(包括驱动器号)应该与主体数据库的路径相同。如果文件布局必须互不相同(例如,如果主体数据库位于“F:”驱动器上,但镜像系统没有“F:”驱动器),则必须在 RESTORE 语句中加入 MOVE 选项。
    ms366349.note(zh-cn,SQL.90).gif重要提示:
    如果创建镜像数据库时移动了数据库文件,则不挂起镜像可能导致以后无法向数据库添加文件。
  • 镜像会话中的所有服务器实例都应该使用相同的主代码页和排序规则。如果使用不同的主代码页和排序规则,则在镜像设置期间可能会出现问题。
  • (可选)估计故障转移数据库的时间,以确保系统配置能提供您需要的性能。有关详细信息,请参阅估计角色切换过程中的服务中断
  • 为获得最佳性能,请为镜像使用专用网络接口卡 (NIC)。
  • 关于广域网 (WAN) 对高安全性模式下的数据库镜像是否足够可靠,我们没有任何建议。如果您决定在 WAN 上使用高安全性模式,将见证服务器添加至会话时请小心谨慎,因为可能会发生意外的自动故障转移。有关详细信息,请参阅本主题后面的“部署数据库镜像的建议”。

部署数据库镜像的建议

使用异步操作可获得最佳的数据库镜像性能。如果镜像会话使用同步操作,则当该会话的工作负荷生成大量事务日志数据时,可能会降低性能。

在测试环境中,应当研究所有运行模式以评估数据库镜像的执行方式。但是,在生产环境中部署镜像之前,务必了解网络在实际环境中的运行方式,以便预测数据库镜像在其中的工作方式。

具有自动故障转移功能的高安全性模式专用于具有专用连接或非常简单的网络配置的高级服务网络,它可最大程度地减少可能的网络故障源。这种高质量的网络环境对于具有自动故障转移功能的高安全性模式而言至关重要,同时也建议将其用于数据库镜像会话。但是,网络可靠性对高性能模式和不带自动故障转移功能的高安全性模式具有较小的影响。

因此,对于生产环境,建议遵守下列部署指导原则:

  1. 在异步、高性能模式下开始运行。此模式受网络环境的影响最小,并为研究镜像的工作方式提供了最佳配置。除非您确信自己的带宽支持镜像,并且非常了解镜像设置以及异步模式在您环境中的性能的相关知识,否则,建议异步运行系统。有关详细信息,请参阅异步数据库镜像(高性能模式)
    ms366349.note(zh-cn,SQL.90).gif重要提示:
    建议您在测试过程中监视会话,以便发现导致数据库镜像失败的网络错误。有关潜在的故障源的详细信息,请参阅数据库镜像期间可能出现的故障。有关监视数据库镜像的信息,请参阅监视数据库镜像
  2. 在确信异步操作符合您的业务要求之后,您可能希望尝试同步操作,以改善数据保护功能。当测试同步镜像在环境中的工作方式时,建议首先测试不带自动故障转移功能的高安全性模式。此测试的主要目的是了解同步操作如何影响数据库的性能。有关详细信息,请参阅同步数据库镜像(高安全性模式)
  3. 等待启用自动故障转移,直到确信不带自动故障转移功能的高安全性模式满足您的业务需要并且网络错误不会导致故障。有关详细信息,请参阅自动故障转移
ms366349.note(zh-cn,SQL.90).gif注意:
使用 vardecimal 存储格式时,数据库镜像可以正常执行。但必须将每个数据库引擎至少升级到 SQL Server 2005 Service Pack 2,并且必须对所有相关数据库启用 vardecimal 存储格式。有关 vardecimal 存储格式的详细信息,请参阅将 Decimal 数据存储为可变长度类型

请参阅

概念

数据库镜像会话
数据库镜像传输安全性
数据库镜像以及备份和还原
管理数据库镜像 (SQL Server Management Studio)
数据库镜像概述
对数据库镜像设置进行故障排除

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 12 月 12 日

新增内容:
  • 添加了在 64 位和 32 位环境中 SQL Server 磁盘存储格式均相同的说明。
  • 更新了“限制”部分以说明数据库镜像不支持跨数据库事务和分布式事务。
  • 添加了有关 vardecimal 存储格式的说明。

2006 年 4 月 14 日

新增内容:
  • 添加了两个伙伴必须运行相同版本的 SQL Server 的要求。
  • 添加了应该在类似系统上运行伙伴的建议。
  • 添加了服务器实例共享相同主代码页和排序规则的建议。
更改的内容: