閱讀英文

共用方式為


伺服器組態: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,這是設計的預設值。

範例

下列範例將清除器的重試逾時設定為預設值。

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

範例

下列範例會將清除器重試逾時設定為預設值。

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