数据库镜像 (SQL Server)

 公司新闻     |      2024-06-10 22:49

  数据库镜像是一种提高 SQL Server 数据库的可用性的解决方案。 镜像基于每个数据库实现,并且只适用于使用完整恢复模式的数据库

  发生灾难时,在具有自动故障转移功能的高安全性模式下,自动故障转移可快速使数据库的备用副本联机(而不会丢失数据)。 在其他运行模式下,数据库管理员可以选择强制服务(可能丢失数据),以替代数据库的备用副本。 有关详细信息,请参阅本主题后面的角色切换。

  数据库镜像提供完整或接近完整的数据冗余,具体取决于运行模式是高安全性还是高性能。 有关详细信息,请参阅本主题后面的运行模式。

  在 SQL Server 2008 (10.0.x) Enterprise 或更高版本上运行的数据库镜像伙伴会自动尝试解决某些阻止读取数据页的错误。 无法读取页的伙伴会向其他伙伴请求新副本。 如果此请求成功,则将以新副本替换不可读的页,这通常会解决该错误。 有关详细信息,请参阅自动页修复(可用性组:数据库镜像)。

  为了尽量减少镜像服务器的停机时间,可以按顺序升级承载故障转移伙伴的 SQL Server 实例。 这样只会导致一个故障转移的停机时间。 这种形式的升级称为“滚动升级 ”。 有关详细信息,请参阅Upgrading Mirrored Instances。

  自动故障转移 (automatic failover)一种过程,当主体服务器不可用时,该过程将导致镜像服务器接管主体服务器的角色,并使其数据库的副本联机以作为主体数据库。

  故障转移伙伴 (failover partners)充当镜像数据库的角色切换伙伴的两个服务器实例(主体服务器或镜像服务器)。

  强制服务 (forced service)是指在负责将服务传输到镜像数据库(但它处于未知状态)的主体服务器出现故障时数据库所有者启动的故障转移。

  高性能模式数据库镜像会话异步运行并仅使用主体服务器和镜像服务器。 唯一的角色切换形式是强制服务(可能造成数据丢失)。

  高安全性模式 (High-safety mode)数据库镜像会话同步运行并可以选择使用见证服务器、主体服务器和镜像服务器。

  手动故障转移 (manual failover)是指在负责将服务从主体数据库传输到镜像数据库(处于同步状态)的主体服务器仍在运行时数据库所有者启动的故障转移。

  镜像数据库 (mirror database)通常与主体数据库完全同步的数据库副本。

  镜像服务器 (mirror server)在数据库镜像配置中,镜像数据库所在的服务器实例。

  主体数据库 (principal database)数据库镜像中的一种读写数据库,其事务日志记录将应用到数据库的只读副本(镜像数据库)。

  主体服务器 (principal server)在数据库镜像中,是指当前作为主体数据库的数据库所属于的伙伴。

  重做队列 (redo queue)收到的等待镜像服务器磁盘的事务日志记录。

  角色 (role)主体服务器和镜像服务器担任互补的主体角色和镜像角色。 也可以由第三个服务器实例来担任见证服务器角色。

  发送队列 (send queue)在主体服务器的日志磁盘累积的未发送的事务日志记录。

  会话是指主体服务器、镜像服务器和见证服务器(如果存在)之间进行数据库镜像期间形成的关系。

  镜像会话启动或继续后,将累积在主体服务器上的主体数据库日志记录发送给镜像服务器的过程,此过程将这些日志记录尽快写入磁盘,以便与主体服务器保持同步。

  事务安全一种镜像特定的数据库属性,用于确定数据库镜像会话是同步运行还是异步运行。 有两种安全级别:FULL 和 OFF。

  见证仅用于高安全性模式,SQL Server 的一个可选实例,它能使镜像服务器识别何时要启动自动故障转移。 与这两个故障转移伙伴不同的是,见证服务器并不能用于数据库。 见证服务器的唯一角色是支持自动故障转移。