服务器配置:ADR 预分配因素
适用范围:SQL Server
从 SQL Server 2019 (15.x) 开始,加速数据库恢复需要此配置设置。
加速数据库恢复 (ADR) 会保留数据的多个版本以便恢复。 这些版本是在各种数据操作语言 (DML) 操作中生成的。 这些版本存储在名为永久版本存储 (PVS) 的内部表中。
备注
如果在前台用户 DML 操作中将页面分配给 PVS,性能可能会降低。 后台线程会预分配页面并使其随时可用于 DML 事务。 当后台会话预分配足够多的页面,前台 PVS 分配的百分比接近 0 时,性能最佳。 如果百分比提高并影响性能,错误日志会包含带有 PreallocatePVS
标记的条目。
后台线程预分配的页数基于各种工作负载启发,但在很大程度上是以 512 页的块为单位分配页面。 ADR 预分配系数是块的倍数。 默认情况下,因数为 4
,这意味着它在需要时一次预分配 2048 页。
尽管后台会话会考虑工作负载模式,但如果需要,可以增大此系数以提高性能。
注意
如果 PVS 预分配增加过多,它将与系统中的其他分配争用,实际可能降低总体性能。 在修改此设置之前,请测试系统的整体性能。
已知问题
对于 SQL Server 2019 (15.x) CU 12 及早期版本,此值可设置为 0
。 建议使用本文中的示例将值重置为 4
,这是设计的默认值。
示例
下面的示例将预分配因数设置为 4
。
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'ADR Preallocation Factor', 4;
RECONFIGURE;
GO