当辅助服务器因辅助服务器电源故障而错过 tlog 记录时,异步 AG 辅助辅助服务器如何与主服务器同步?

var*_*ble 2 sql-server availability-groups sql-server-2019

在不需要 WSFC 集群的 SQL AG(读取扩展)异步模式下,假设以下场景:

  1. 主节点将数据写入其事务日志并将该日志记录发送到辅助节点
  2. 假设在上述日志记录到达辅助节点之前辅助节点已断电

当辅助数据库启动时,它如何将其数据库与主数据库同步?这是自动还是手动过程?

Sea*_*ser 8

当辅助数据库启动时,它如何将其数据库与主数据库同步?

我在这里进行粗略的描述,因为细节并不重要,但总体过程才是理解的要点。如果您想了解其内部工作原理,可以使用 XE 和各种其他方法来推断深层内部结构。

当辅助设备启动并连接到主设备时,它将交换一些基本信息。其中一项是辅助设备相对于将与主设备协商的日志的位置。然后可能会出现各种选择,例如:

  1. 次要点超过了主要点,需要撤消回到公共点。
  2. 辅助日志与主日志位于同一位置,任何新日志都将被发送。
  3. 次要设备位于主要设备之后。这有不同的子选项,例如距离公共点太远,需要汇总到公共分叉,或者存在公共分叉,辅助节点可以让日志流从公共分叉开始并继续,直到赶上。

其中大部分是自动的,唯一不是自动的,如果没有主要和次要的公共分叉,则需要进行手动干预。这将导致错误指出数据库落后太多,这是不言自明的。