服务器配置:可用性组提交时间(ms)

SQL Server 2025 (17.x) 预览版

使用availability group commit time服务器配置选项为Always On 可用性组副本指定组提交时间(以毫秒为单位)。

注释

服务器 availability group commit time 配置选项从 SQL Server 2025(17.x) 预览版开始可用。

概述

在事务提交之前,事务中所做的更改在事务外是不可见的。 Always On 可用性组中已提交事务的定义涉及可用性组中所有同步次要副本确认已持久化的提交。 在主副本上发出提交后,需要将这一事实快速传播到所有次要副本。

由于 SQL Server 依赖于 预写事务日志记录 来维护事务的 ACID 属性,更改首先以 日志块的形式记录到事务日志中。 这些日志块被发送到所有辅助副本的事务日志中,然后加以应用。

为了提高 SQL Server 2016(13.x)及更高版本中的性能并减少延迟,SQL Server 使用 10 毫秒的延迟来尝试在将 AlwaysOn 可用性组日志块发送到次要副本之前填充多个提交。

SQL Server 2025 (17.x) 预览版引入了 availability group commit time 服务器配置选项,用于指定可用性组副本的组提交时间(以毫秒为单位)。 对于默认值为 10 毫秒过长的业务方案,此选项使 SQL Server 能够在更少的日志块内将多个提交分组到批中。

分组提交在数据复制效率与向提交者报告成功提交所需的时间之间带来了权衡

  • 在繁忙的系统上,分组提交可使日志块填充更多事务,从而有助于避免网络饱和以及减少在备用副本上应用多个小型日志块的相关开销。
  • 但是,将事务应用到次要副本之前,会有10毫秒的延迟,这可能会在某些业务场景中引发问题。

对于默认值为 10 毫秒太长的业务方案,可以将服务器配置选项修改 availability group commit time 为较低的值,以便事务更快地发送到辅助副本。

注解

  • 默认值 0 指示 SQL Server 对可用性组提交时间使用默认值 10 毫秒。

  • 显示高级选项设置为1时,服务器availability group commit time配置选项可用。