我对 SQL Standard 可用性组有疑问。我目前有一个 AG 设置,其中包含一个主要副本和一个辅助副本。我正在使用同步提交,但对异步感到好奇。次要副本将/可以落后多远?如果辅助副本由于任何原因离线,它会在在线后完全赶上吗?辅助节点在无法赶上之前可以关闭多长时间?我了解 2 种提交类型之间的区别(一种在交还给应用程序之前验证事务是否已提交,而另一种提交类型则没有)。我不确定的是在异步提交类型中辅助可以离线多长时间。
我对 SQL Standard 可用性组有疑问。我目前有一个 AG 设置,其中包含一个主要副本和一个辅助副本。我正在使用同步提交,但对异步感到好奇。次要副本将/可以落后多远?如果辅助副本由于任何原因离线,它会在在线后完全赶上吗?辅助节点在无法赶上之前可以关闭多长时间?我了解 2 种提交类型之间的区别(一种在交还给应用程序之前验证事务是否已提交,而另一种提交类型则没有)。我不确定的是在异步提交类型中辅助可以离线多长时间。
这取决于许多因素。2 个节点之间的网络速度、辅助磁盘速度、传输的数据量。其中许多 KPI 位于 AG 概览仪表板中(在 SSMS 中右键单击 AG 并选择“显示仪表板”)。您可以选择一系列不同的指标,包括日志发送队列、日志重做队列、估计的恢复时间、估计的数据丢失等。正如下面来自 scsimon 的评论中所述,在异步时,辅助节点并不是每个都真正“赶上了” '. 它将始终显示“正在同步..”状态而不是“已同步”。
是的。还值得注意的是,在您的辅助副本不可用/断开连接期间,您将无法备份日志中尚未发送到辅助副本的任何事务。在 sys.databases 中,列 log_reuse_Wait_desc 将填充为“AVAILABILITY REPLICA”,因为事务不能被刷新,除非它们在辅助服务器上提交。
中学不会只是“赶不上”。如果您关闭辅助服务器(而不是将其从 AG 中删除),日志备份将不会刷新事务,日志文件将填满,然后您将用完空间,导致任何未来的事务失败。辅助服务器可以关闭的时间在很大程度上取决于您拥有多少空间和您的交易量。一旦辅助恢复,它将开始应用在它关闭时发生的事务。我已经看到这需要几分钟到几个小时。
对于短暂的中断/修补,让辅助副本保持连接状态就可以了,但如果您正在寻找持续时间较长的中断,则只删除辅助副本可能更容易,而不用担心日志文件填满的麻烦。然后,一旦中断完成,您只需将 DB 重新初始化到 AG 中。