共用方式為


伺服器組態:ADR cleaner retry timeout (min)

適用於:SQL Server

從 SQL Server 2019 (15.x)開始,此組態設定會用於 加速資料庫復原 (ADR)。 清除程式是異步程式,會定期喚醒並清除不需要的數據列版本。

有時候,清除程式在掃掠時可能會因為與使用者工作負載的鎖定衝突,而在取得物件或分割區層級的 IX 鎖定時遇到問題。 清除程式會追蹤個別清單中的這類頁面。 ADR cleaner retry timeout (min) 控制清理程序在放棄掃掠之前,專注於重試 IX 鎖定取得和清除頁面的時間長度。 完成以 100 次% 成功的掃描,對於在中止交易地圖中保持中止交易的增長至關重要。 如果在指定的逾時中無法清除個別清單上的頁面,則會放棄目前的掃掠,並在下一次掃掠期間嘗試清除。

版本 預設值
SQL Server 2019 (15.x) 120
SQL Server 2022 (16.x) 及更新版本 15

備註

在 SQL Server 2019 (15.x) 中,清理程序是單執行緒的。 在 SQL Server 2022 (16.x) 中,清除器預設為單個線程,但可藉由設定 ADR Cleaner Thread Count 伺服器組態來進行多線程處理。

如果清除程式是單個線程,一次只能處理一個資料庫。 如果實例中有多個資料庫啟用了 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