在数据库镜像会话期间,镜像数据库始终处于特定状态( 镜像状态)。 数据库的状态反映了通信状态、数据流以及合作伙伴之间的数据差异。 数据库镜像会话采用与主体数据库相同的状态。
在整个数据库镜像会话中,服务器实例相互监视。 合作伙伴使用镜像状态监视数据库。 除了PENDING_FAILOVER状态之外,主体数据库和镜像数据库始终处于相同的状态。 如果会议设置了见证,每个合作伙伴都会通过其连接状态(连接或断开连接)来监控见证。
数据库的可能镜像状态如下所示:
| 镜像状态 | DESCRIPTION |
|---|---|
| 同步 | 镜像数据库的内容滞后于主体数据库的内容。 主体服务器正在将日志记录发送到镜像服务器,该服务器将更改应用到镜像数据库以向前滚动。 在数据库镜像会话开始时,数据库处于同步状态。 主体服务器正在为数据库提供服务,镜像正在尝试赶上。 |
| 同步 | 当镜像服务器足够赶上主体服务器时,镜像状态将更改为 SYNCHRONIZED。 只要主体服务器继续向镜像服务器发送更改,镜像服务器将继续对镜像数据库应用更改,数据库将保持此状态。 如果事务安全设置为 FULL,自动故障转移和手动故障转移在 SYNCHRONIZED 状态下均受支持,则故障转移后不会丢失任何数据。 如果事务安全关闭,即使处于 SYNCHRONIZED 状态,也有可能丢失某些数据。 |
| 暂停 | 数据库镜像不可用。 主数据库正在运行,却没有向镜像服务器发送任何日志,这种情况称为运行公开。 这是故障转移后的状态。 会话可能因重做操作错误或管理员暂停而进入挂起状态。 SUSPENDED 是一种持久状态,在合作伙伴关闭和启动后幸存下来。 |
| PENDING_FAILOVER | 只有在故障转移开始后,才会在主体服务器上找到此状态,但服务器尚未转换为镜像角色。 启动故障转移后,主数据库进入PENDING_FAILOVER状态,迅速终止所有用户连接,并随后转为镜像角色。 |
| 断开 | 合作伙伴已与其他合作伙伴失去沟通。 |