服务器配置:ADR 清理器重试超时(分钟)

适用范围:SQL Server

从 SQL Server 2019 (15.x) 开始,加速数据库恢复 (ADR) 需要此配置设置。 清理器是定期唤醒并清除不需要的页面版本的异步过程。

有时在获取对象级别锁时,清理器因其扫描过程中与用户工作负荷发生冲突而遇到问题。 它在单独的列表中跟踪此类页。 “ADR cleaner retry timeout (min)”可控制清理器在放弃扫描之前仅重试对象锁获取和清理所需的时间。 若要在中止的事务映射中保持已中止事务的增长,100% 成功地完成扫描是非常重要的。 如果在规定的超时时间内无法清除单独的列表,将放弃当前的扫描,并启动下一次扫描。

版本 默认值
SQL Server 2019 (15.x) 120
SQL Server 2022 (16.x) 及更高版本 15

备注

清理器在 SQL Server 2019 (15.x) 中是单线程的,因此一个 SQL Server 实例一次可以处理一个数据库。 如果实例中有多个启用了 ADR 的用户数据库,则不要将超时增加到一个较大的值。 当另一个数据库发生重试时,这样做可能会延迟对一个数据库的清理。

已知问题

对于 SQL Server 2019 (15.x) CU 12 及早期版本,此值可设置为 0。 建议使用本文中的示例手动将值重置为 120,这是设计的默认值。

示例

下面的示例将清理器重试超时设置为默认值。

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 120;
RECONFIGURE;
GO

示例

下面的示例将清理器重试超时设置为默认值。

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR cleaner retry timeout', 15;
RECONFIGURE;
GO