伺服器組態:ADR cleaner retry timeout (min)
適用於: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 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