Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2019 (15.x) dan versi yang
lebih baru database Azure SQL Database
Azure SQL Managed Instance
SQL di Microsoft Fabric
Memulai proses pembersihan penyimpanan versi persisten (PVS) secara manual, elemen kunci pemulihan database yang dipercepat (ADR). Pembersih ini juga menghapus data yang tidak dikomit dalam PVS dari transaksi yang dibatalkan.
Biasanya tidak perlu memulai proses pembersihan PVS secara manual menggunakan sys.sp_persistent_version_cleanup. Namun dalam beberapa skenario, Anda mungkin ingin memulai proses pembersihan PVS secara manual selama periode istirahat/pemulihan yang diketahui setelah aktivitas OLTP yang sibuk.
Untuk informasi selengkapnya tentang ADR, lihat Pemulihan database yang dipercepat.
Sintaks
sp_persistent_version_cleanup
[ [ @dbname = ] N'dbname' ]
[ , [ @scanallpages = ] scanallpages ]
[ , [ @clean_option = ] clean_option ]
[ ; ]
Argumen
[ @dbname = ] N'dbname'
Opsional. Nama database yang akan dibersihkan. Jika tidak disediakan, menggunakan konteks database saat ini.
@dbname adalah sysname, dengan default NULL.
[ @scanallpages = ] scanallpages
Opsional.
@scanallpages adalah bit, dengan default 0. Saat diatur ke 1, opsi ini memaksa pembersihan semua halaman database bahkan jika tidak diberi versi.
[ @clean_option = ] clean_option
Opsional. Opsi yang mungkin menentukan apakah akan mengklaim kembali halaman PVS di luar baris atau tidak.
@clean_option int, dengan default 0. Referensi ini umumnya tidak diperlukan dan nilai 0 default disarankan.
| Nilai | Deskripsi |
|---|---|
0 |
Default, tidak ada opsi yang ditentukan |
1 |
penyimpanan versi di luar baris tanpa memeriksa konten halaman PVS individual |
2 |
penyimpanan versi di luar baris dengan setiap halaman PVS yang dikunjungi |
3 |
hanya penyimpanan versi dalam baris |
4 |
penggunaan internal saja |
Mengembalikan nilai kode
0 (berhasil) atau 1 (kegagalan).
Tataan hasil
Tidak ada.
Izin
Memerlukan izin ALTER pada database.
Keterangan
Prosedur sys.sp_persistent_version_cleanup tersimpan sinkron, yang berarti tidak selesai sampai semua informasi versi dibersihkan dari PVS saat ini.
Di SQL Server 2019 (15.x), proses pembersihan PVS hanya dijalankan untuk satu database pada satu waktu. Di Azure SQL Database dan Azure SQL Managed Instance, dan dimulai dengan SQL Server 2022 (16.x), proses pembersihan PVS dapat dijalankan secara paralel terhadap beberapa database dalam instans yang sama.
Jika proses pembersihan PVS sudah berjalan terhadap database yang diinginkan, prosedur tersimpan ini diblokir sebelum memulai proses pembersihan PVS lain. Transaksi aktif dan berjalan lama dalam database apa pun pada instans mesin database yang sama yang mengaktifkan ADR juga dapat memblokir pembersihan PVS.
Anda dapat memantau tugas pembersih versi dengan mencari prosesnya dengan kueri sampel berikut:
SELECT *
FROM sys.dm_exec_requests
WHERE command LIKE '%PERSISTED_VERSION_CLEANER%';
Transaksi aktif mungkin mencegah proses pembersihan PVS dimulai. Jika ini terjadi, sesi yang menjalankan prosedur tersimpan sys.sp_persistent_version_cleanup menunggu dengan jenis tunggu PVS_CLEANUP_LOCK. Anda dapat menunggu transaksi selesai, atau Anda dapat mempertimbangkan untuk membunuh sesi pemblokir dengan transaksi aktif, jika memungkinkan.
Jika ADR dinonaktifkan, jalankan sys.sp_persistent_version_cleanup untuk membersihkan versi sebelumnya yang masih ada di PVS.
Contoh
Untuk mengaktifkan proses pembersihan PVS secara manual antara beban kerja atau selama jendela pemeliharaan, gunakan contoh skrip berikut:
EXECUTE sys.sp_persistent_version_cleanup [database_name];
Contohnya:
EXECUTE sys.sp_persistent_version_cleanup [WideWorldImporters];
Atau, untuk mengasumsikan konteks database saat ini:
USE [WideWorldImporters];
GO
EXECUTE sys.sp_persistent_version_cleanup;
Konten terkait
- Pemulihan database dipercepat
- Memantau dan memecahkan masalah pemulihan database yang dipercepat
- Mengelola pemulihan database yang dipercepat