sp_clean_db_file_free_space (T-SQL)
Berlaku untuk: SQL Server
Menghapus informasi sisa yang tersisa di halaman database karena rutinitas modifikasi data di SQL Server. sp_clean_db_file_free_space
membersihkan semua halaman hanya dalam satu file database.
Sintaks
sp_clean_db_file_free_space
[ @dbname = ] N'dbname'
, [ @fileid = ] fileid
[ , [ @cleaning_delay = ] cleaning_delay ]
[ ; ]
Argumen
[ @dbname = ] N'dbname'
Nama database yang akan dibersihkan. @dbname adalah sysname, tanpa default.
[ @fileid = ] fileid
ID file data yang akan dibersihkan. @fileid int, tanpa default.
[ @cleaning_delay = ] cleaning_delay
Menentukan interval untuk menunda antara pembersihan halaman. @cleaning_delay int, dengan default 0
. Penundaan ini membantu mengurangi efek pada sistem I/O.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
Menghapus operasi dari tabel atau memperbarui operasi yang menyebabkan baris dipindahkan dapat segera mengosongkan ruang pada halaman dengan menghapus referensi ke baris. Namun, dalam keadaan tertentu, baris dapat secara fisik tetap berada di halaman data sebagai catatan hantu. Proses latar belakang secara berkala menghapus catatan hantu. Data residu ini tidak dikembalikan oleh Mesin Database sebagai respons terhadap kueri. Namun, di lingkungan di mana keamanan fisik data atau file cadangan berisiko, Anda dapat menggunakan sp_clean_db_file_free_space
untuk membersihkan catatan hantu ini. Untuk melakukan operasi ini untuk semua file database sekaligus, gunakan sp_clean_db_free_space.
Lamanya waktu yang diperlukan untuk berjalan sp_clean_db_file_free_space
tergantung pada ukuran file, ruang kosong yang tersedia, dan kapasitas disk. Karena menjalankan sp_clean_db_file_free_space
dapat secara signifikan memengaruhi aktivitas I/O, kami sarankan Anda menjalankan prosedur ini di luar jam operasi biasa.
Sebelum Anda menjalankan sp_clean_db_file_free_space
, kami sarankan Anda membuat cadangan database lengkap.
Prosedur tersimpan sp_clean_db_free_space terkait membersihkan semua file dalam database.
Izin
Memerlukan keanggotaan dalam peran database db_owner .
Contoh
Contoh berikut membersihkan semua informasi residu dari file AdventureWorks2022
data utama database.
USE master;
GO
EXEC sp_clean_db_file_free_space
@dbname = N'AdventureWorks2022',
@fileid = 1;