Bagikan melalui


Konfigurasi server: Batas waktu coba lagi pembersih ADR (min)

Berlaku untuk:SQL Server

Dimulai dengan SQL Server 2019 (15.x), pengaturan konfigurasi ini digunakan untuk pemulihan database yang dipercepat (ADR). Pembersih adalah proses asinkron yang aktif secara berkala dan membersihkan versi baris yang tidak diperlukan.

Terkadang, pembersih mungkin mengalami masalah saat memperoleh kunci IX tingkat objek atau partisi karena konflik kunci dengan beban kerja pengguna selama proses pembersihannya. Pembersih melacak halaman tersebut dalam daftar terpisah. ADR cleaner retry timeout (min) mengontrol jumlah waktu yang dihabiskan pembersih untuk berfokus pada mencoba kembali IX akuisisi kunci dan membersihkan halaman sebelum menghentikan penyapuan. Menyelesaikan pembersihan dengan 100% keberhasilan sangat penting untuk menjaga pertumbuhan transaksi yang dibatalkan dalam peta transaksi yang dibatalkan. Jika halaman dalam daftar terpisah tidak dapat dibersihkan dalam batas waktu yang ditentukan, maka pembersihan saat ini ditinggalkan, dan pembersihan dicoba pada pembersihan berikutnya.

Versi Nilai default
SQL Server 2019 (15.x) 120
SQL Server 2022 (16.x) dan versi yang lebih baru 15

Keterangan

Pembersih menggunakan utas tunggal di SQL Server 2019 (15.x). Di SQL Server 2022 (16.x), proses pembersihan berutas tunggal secara default, tetapi dapat dibuat multi-utas dengan mengonfigurasi ADR Cleaner Thread Count pada konfigurasi server.

Jika pembersih berulir tunggal, ia hanya dapat bekerja pada satu database secara bersamaan. Jika instans memiliki lebih dari satu database dengan ADR diaktifkan, jangan tingkatkan batas waktu menjadi nilai besar. Melakukannya dapat menunda pembersihan pada satu database saat coba lagi terjadi pada database lain.

Masalah yang diketahui

Untuk SQL Server 2019 (15.x) CU 12 dan versi sebelumnya, nilai ini mungkin diatur ke 0. Kami menyarankan agar Anda mengatur ulang nilai secara manual ke 120, yang merupakan default yang dirancang, menggunakan contoh dalam artikel ini.

Contoh

Contoh berikut mengatur batas waktu ulang pembersih ke nilai default.

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

Contoh

Contoh berikut mengatur batas waktu coba ulang pembersih ke nilai default.

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