Bagikan melalui


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.

Konvensi sintaks transact-SQL

Sintaks

sp_clean_db_file_free_space   
  [ @dbname = ] 'database_name'   
  , [ @fileid = ] 'file_number'   
  [ , [ @cleaning_delay = ] 'delay_in_seconds' ] [;]  

Argumen

@dbname = 'database_name'
Adalah nama database yang akan dibersihkan. dbname adalah sysname dan tidak boleh NULL.

@fileid = 'file_number'
Apakah id file data untuk dibersihkan. file_number int dan tidak boleh NULL.

@cleaning_delay = 'delay_in_seconds'
Menentukan interval untuk menunda antara pembersihan halaman. Ini membantu mengurangi efek pada sistem I/O. delay_in_seconds int dengan default 0.

Mengembalikan Nilai Kode

0 (keberhasilan) 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. Rekaman hantu dihapus secara berkala oleh proses latar belakang. 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 (Transact-SQL).

Lamanya waktu yang diperlukan untuk menjalankan 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 db_owner peran database.

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;  

Lihat Juga

Prosedur Tersimpan Mesin Database (Transact-SQL)
Panduan Proses Pembersihan Hantu
sp_clean_db_free_space (T-SQL)