添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

注意事项:

  • Sqlserver 标准版\企业版 才支持Mirror
  • Sp1之后默认是启用的(可用以生产),初始版必须打开1400跟踪选项(实验目的)
  • 工作组模式下windows的计算机名中必须带有DNS后缀, 默认是没有的.所以请修改计算机名称配置,重启!
  • 工作组模式下windows的hosts文件必须添加对计算机名的本地解析
  • 工作组模式下Sqlserver服务的启动账户必须是adminstrators的成员而不能是本地系统账户,且Mirror所涉及的实例必须采用相同的:账号\密码
  • 工作组模式下Sqlserver服务的启动账户必须是adminstrators的成员而不能是本地系统账户,且Mirror所涉及的实例所采用的 账号\密码 必须在所有windows中存在且相同,即可以采用多个账号,但是不是多余了?(看上一条注意点)
  • Mirror数据库必须和原始数据库同名
  • Mirror数据库必须处于 norecovery 状态
  • Mirror数据库必须应用了所有的Log备份(即必须和主数据库还原点相同), 特别注意,无论数据库备份是不是最新的备份,也要在主数据库上备份一个Log并应用的Mirror数据库上!!!!
  • 强烈推荐 Mirror数据库 和 主数据库的文件结构(目录结构,磁盘分区等)完全一致, 否则以后涉及到主数据库文件变更的操作会使镜像失败!!!
  • SMS的镜像向导总是使用windows身份验证方式创建endpoint连接

特别提示:

  1. 镜像建立后,主数据库可以执行 backup database \ backup log操作,而不用担心会是镜像中断
  2. 可以临时暂停镜像,稍后继续镜像. 暂停期间主数据库可以执行 backup database \ backup log操作,而不用担心会是镜像中断
  3. 可以取消镜像,然后从取消后(断点)重新设置镜像. 但切记 主数据库 [不要执行] backup database \ backup log操作 ,否则你死了!
  4. ...

附:微软官方资料

数据库镜像会话

SQL Server 2005

更新日期: 2006 年 4 月 14 日

数据库镜像发生在数据库镜像会话的上下文中。本主题假定您熟悉数据库镜像中的主体角色、镜像角色和见证服务器角色、运行模式以及角色切换。有关详细信息,请参阅。

镜像数据库就绪且配置了服务器实例后,数据库所有者便可以启动数据库镜像。只要镜像开始,每个伙伴便开始在其数据库中维护有关该数据库以及其他伙伴和见证服务器的状态信息(如果有)。此状态信息允许服务器实例维护称为“数据库镜像会话 ”的关系。在整个数据库镜像会话期间,服务器实例相互监视。在数据库所有者停止会话之前,将一直维护状态信息。有关详细信息,请参阅和。

在数据库镜像会话开始时,镜像服务器将标识应用到镜像数据库的最新事务日志的日志序列号 (LSN),并要求主体服务器为所有后续事务(如果有)建立事务日志。作为响应,主体服务器将自上一个还原到镜像数据库或发送到镜像服务器的日志以来累积的所有活动日志记录发送到镜像服务器。在主体数据库的日志磁盘中累积的未发送日志称为“发送队列 ”。

镜像服务器立即将传入日志写入磁盘,传入日志在应用到镜像数据库之前一直保留在磁盘上。在镜像磁盘上等待的日志称为“重做队列 ”。重做队列中等待的未还原日志数指示将故障转移到镜像数据库所需的时间。有关详细信息,请参阅。

主体服务器继续让客户端和客户端连接使用主体数据库。镜像开始后,每当客户端更新主体数据库,并将事务写入主体数据库的日志时,主体服务器便会将该日志记录发送到镜像服务器。同时,镜像服务器立即将日志记录写入磁盘,作为重做队列中的最新记录。

在后台,镜像服务器从最早的日志记录开始,尽快在镜像数据库中逐个“重做 ”日志记录。重做日志涉及从最早的记录开始,将排队的日志记录按顺序应用到镜像数据库的操作。每条日志记录仅重做一次。当镜像服务器重做日志时,镜像数据库将继续前滚。当主体服务器截断或收缩主体数据库的日志时,镜像服务器也将在日志流的同一点收缩日志。

通常,重做可加速镜像数据库与主体数据库的同步。镜像数据库是否完全与主体数据库保持同步取决于会话的运行模式。在同步、高安全性模式下,主体服务器等待确认新事务,直到将这些新事务写入镜像服务器的日志磁盘为止。将累积的日志记录发送到镜像服务器之后,镜像数据库便会与主体数据库保持同步。

会话期间,如果主体服务器不能立即发送每个日志记录,则未发送日志记录会累积在发送队列中。在同步、高安全性模式下,执行同步后,仅当镜像暂停或挂起时才会累积新的未发送日志。相反,在异步、高性能模式下,只要镜像服务器在镜像期间滞后以及镜像暂停或挂起,便会累积未发送日志。未发送日志数指示主体服务器出现故障时可能造成的数据丢失。

ms189901.note(zh-cn,SQL.90).gif 注意:
如果重做失败,则镜像服务器通过将数据库置于 SUSPENDED 状态来暂停会话。数据库所有者必须找到失败的原因并解决问题才能继续会话。

给定的服务器实例可以参与到多个具有相同或不同服务器实例的并发数据库镜像会话(每个镜像数据库发生一次)中。通常,服务器实例专门用作其所有数据库镜像会话中的伙伴或见证服务器。但是,由于每个会话都独立于其他会话,因此服务器实例可以在某些会话中充当伙伴,而在其他会话中充当见证服务器。例如,请看三个服务器实例( SSInstance_1 SSInstance_2 SSInstance_3 )中的下列四个会话。每个服务器实例都可在某些会话中作为伙伴,而在其他会话中作为见证服务器:

服务器实例 数据库 A 的会话 数据库 B 的会话 数据库 C 的会话 数据库 D 的会话

SSInstance_1

见证服务器

伙伴

伙伴

伙伴

SSInstance_2

伙伴

见证服务器

伙伴

伙伴

SSInstance_3

伙伴

伙伴

见证服务器

见证服务器

下图说明了都作为伙伴参与两个镜像会话的两个服务器实例。一个会话用于名为 Db_1 的数据库,另一个会话用于名为 Db_2 的数据库。

位于两个并发会话中的两个服务器实例

每个数据库独立于其他数据库。例如,服务器实例最初可能是两个数据库的镜像服务器。如果其中一个数据库发生故障转移,则服务器实例将变为已发生故障转移的数据库的主体服务器,同时为其他数据库保留镜像服务器。

再举一个例子,假设有一个服务器实例,它是两个或多个以具有自动故障转移功能的高安全性模式运行的数据库的主体服务器,如果此服务器实例失败,则所有数据库将自动故障转移到其相应的镜像数据库。

如果将一个服务器实例设置成既作为伙伴又作为见证服务器参与会话,请确保数据库镜像端点能够支持两种角色(有关详细信息,请参阅)。同时,还要确保系统具有足够资源以减少资源争用。

ms189901.note(zh-cn,SQL.90).gif 注意:
由于镜像数据库相互独立,因此这些数据库不能作为一个组来进行故障转移。

开始镜像会话之前,数据库所有者或系统管理员必须创建镜像数据库,设置端点和登录名。在某些情况下,还要创建并设置证书。有关详细信息,请参阅。

创建镜像数据库的最低要求是:执行主体数据库的完整备份和一个后续日志备份,并使用 WITH NORECOVERY 将这两个备份还原到镜像服务器实例上。此外,在开始镜像之前,如果在执行完必要的日志备份之后又执行了任何其他日志备份,则还必须手动应用其他每个日志备份(始终使用 WITH NORECOVERY)。应用最新的日志备份之后,便可开始镜像。有关详细信息,请参阅。

数据库所有者可以随时暂停会话。执行暂停操作将保留在删除镜像时的会话状态。暂停会话时,主体服务器不会向镜像服务器发送任何新的日志记录。所有这些记录将保持活动状态,并堆积在主体数据库的事务日志中。只要数据库镜像会话保持暂停状态,事务日志就不会被截断。因此,如果数据库镜像会话暂停时间过长,则可能会使该日志填满。

有关详细信息,请参阅。

Microsoft .NET Data Provider for SQL Server 提供了对数据库镜像会话的客户端连接支持。有关详细信息,请参阅。

概念






其他资源




帮助和信息

版本 历史记录

2006 年 4 月 14 日

新增内容:
  • 添加了发送队列的说明。
  • 添加了有关重做队列大小重要性的信息。
已更改的内容:
  • 扩展了“并发会话”部分的介绍。

2005 年 12 月 5 日

已更改的内容:
  • 记录了一条对创建镜像数据库要求的更改。
  • 扩展了角色切换的介绍。

为镜像准备镜像数据库

SQL Server 2005

更新日期: 2005 年 12 月 5 日

在镜像会话开始之前,数据库所有者或系统管理员必须确保已创建镜像数据库并可进行镜像。

创建新镜像数据库的最低要求是:执行主体数据库的完整备份和一个后续日志备份,并使用 WITH NORECOVERY 将这两个备份还原到镜像服务器实例上。为使镜像正常运行,镜像数据库必须处于 RESTORING 状态。

并且在开始镜像之前,如果在执行完必要的日志备份之后又执行了任何其他日志备份,则还必须手动应用其他每个日志备份(始终使用 WITH NORECOVERY)。如果计划在数据库中非常频繁地运行日志备份作业,则可能需要禁用备份作业,直到镜像启动为止。应用最新的日志备份之后,便可开始镜像并重新启用日志备份作业(如果已禁用)。

ms189053.note(zh-cn,SQL.90).gif 注意:
只能备份当前主体服务器,无法备份镜像数据库,因为它处于 RESTORING 状态。

如果已删除镜像,并且该镜像数据库仍处于 RECOVERING 状态,则可以重新启动镜像。但是,首先在主体数据库中必须至少执行一个日志备份。然后在该镜像数据库中,必须使用 WITH NORECOVERY 还原删除镜像后在主体数据库中执行的所有日志备份。

准备镜像数据库

暂停和恢复数据库镜像

SQL Server 2005

数据库所有者可以暂停并在以后随时恢复数据库镜像会话。执行暂停操作将保留在挂起镜像时的会话状态。当出现瓶颈时,暂停可能有利于提高主体服务器的性能。

会话暂停后,主体数据库仍然可用。暂停操作将镜像会话的状态设置为 SUSPENDED,并且镜像数据库不再与主体数据库保持一致,从而导致主体数据库公开运行。

由于在数据库镜像会话处于暂停时无法截断事务日志,因此建议您尽快恢复暂停的会话。因此,如果数据库镜像会话暂停的时间太长,事务日志将填满,导致数据库不可用。有关此现象产生原因的解释,请参阅本主题后面的“暂停和恢复如何影响日志截断”。

ms190664.note(zh-cn,SQL.90).gif 重要提示:
执行强制服务之后,当重新连接原始主体服务器时,镜像便会挂起。在这种情况下,恢复镜像可能会导致原始主体服务器上的数据丢失。有关管理潜在的数据丢失的信息,请参阅。

通常,在数据库上执行自动检查点操作时,事务日志将在下一个日志备份后截断到该检查点。当数据库镜像会话处于暂停时,当前所有日志记录都保持为活动状态,因为主体服务器正等待将这些记录发送到镜像服务器。未发送的日志记录将堆积在主体数据库的事务日志中,直到会话恢复并且主体服务器将它们发送到镜像服务器为止。

会话恢复时,主体服务器立即开始将堆积的日志记录发送到镜像服务器。当镜像服务器确认与最早的自动检查点相对应的日志记录已排队后,主体服务器便会将主体数据库的日志截断到该检查点。镜像服务器会截断同一个日志记录的重做队列。随着对每个连续的检查点重复此过程,日志将对检查点逐个分阶段地截断。

ms190664.note(zh-cn,SQL.90).gif 注意:
有关检查点和日志截断的详细信息,请参阅。

如果填满该日志(因为它达到其最大大小或服务器实例耗尽空间),则数据库将无法再执行任何更新。若要避免出现这种问题,有两种选择:

  • 在该日志填满之前恢复数据库镜像会话,或添加更多的日志空间。恢复数据库镜像会使主体服务器将其累积的活动日志发送到镜像服务器,并将镜像数据库设置为 SYNCHRONIZING 状态。然后镜像服务器可将日志镜像到磁盘并开始重做。
  • 通过删除镜像来停止数据库镜像会话。
    和暂停会话不同,删除镜像将删除有关镜像会话的所有信息。每个伙伴服务器实例将保留其自己的数据库副本。如果前一个镜像副本已恢复,则它将与前一个主体副本分离,且滞后时间等于此会话暂停的时间。有关详细信息,请参阅。

广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员