共用方式為


伺服器組態:ADR Preallocation Factor

適用於: SQL Server 2019 (15.x) 及以後版本 Azure SQL Managed Instance

從 SQL Server 2019(15.x)和 Azure SQL 託管實例開始,加速資料庫恢復會使用此設定。

加速資料庫復原 (ADR) 會針對交易管理和資料庫復原目的使用數據列版本。 這些版本是在各種資料操作語言 (DML) 的作業中產生。 版本會以列內或列外儲存在稱為持續性版本存放區 (PVS) 的內部資料表中。

備註

如果頁面在同步使用者 DML 作業中配置給持續性版本存放區(PVS),效能可能會降低。 背景執行緒會預先配置頁面,並讓頁面隨時可用來插入 PVS。 當背景線程預先配置足夠的頁面,讓前景 PVS 配置百分比接近 0 時,效能是最佳的。

背景線程預先配置的頁面數目是基於各種工作負載啟發法。 通常,背景線程會配置 512 頁的區塊。 ADR 預先配置因數是區塊的倍數。 根據預設,因數為 4,這表示需要時會一次預先配置 2048 頁。

雖然背景執行緒會考慮工作負載模式,但如果有需要,也可以增加此因數來改善效能。 tx_version_optimized_insert_stats當 PVS 中發生空間配置時,擴充事件會定期引發,並提供空間配置統計資料。 如果欄位中的 foreground_allocation_percent 值明顯高於零,請考慮增加 ADR Preallocation Factor 設定。

警告

如果 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