Aracılığıyla paylaş


sp_clean_db_file_free_space (Transact-SQL)

Removes residual information left on database pages because of data modification routines in SQL Server.sp_clean_db_file_free_space cleans all pages in only one file of a database.

Topic link iconTransact-SQL sözdizimi kuralları

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

Bağımsız değişkenler

  • [dbname =] ' database_name'
    Is the name of the database to clean.dbname is sysname and cannot be NULL.

  • [fileid =] ' file_number'
    Is the data file id to clean.file_number is int and cannot be NULL.

  • [@ cleaning_delay =] ' delay_in_seconds'
    Sayfaların temizlemeyi arasında geciktirmek için bir zaman aralığını belirtir.This helps reduce the effect on the I/O system.delay_in_seconds is int with a default of 0.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Remarks

Taşımak, bir satırın bir tablo veya güncelleştirme işlemleri silme işlemlerini, hemen alanı boşaltabilirsiniz bir sayfa satır başvuruları kaldırarak.Ancak, belirli koşullar altında satır fiziksel olarak veri sayfasında bir hayalet kayıt olarak kalabilir.Hayalet kayıtları, bir arka plan işlemi belirli aralıklarla kaldırılır.Bu kalan veriler tarafından döndürülen Database Engine yanıt olarak sorgular. Ancak, veri veya yedek dosyalarının fiziksel güvenliğinin risk altında olduğu ortamlarda bu hayalet kayıtları temizlemeye sp_clean_db_file_free_space kullanabilirsiniz.

Sp_clean_db_file_free_space çalıştırmak için gereken sürenin uzunluğu, dosyayı, kullanılabilir boş alan ve diskin kapasitesini boyutuna bağlıdır.Sp_clean_db_file_free_space çalıştıran g/Ç etkinliği önemli ölçüde etkileyebilir, çünkü bu yordamın her zamanki çalışma saatlerini dışında'ı çalıştırmanızı öneririz.

Sp_clean_db_file_free_space çalıştırmadan önce tam veritabanı yedeği oluşturmanızı öneririz.

Ilgili sp_clean_db_free_space saklı yordamı, veritabanındaki tüm dosyaları temizler.

İzinler

Db_owner veritabanı rolü üyesi olmak gerekir.

Örnekler

Aşağıdaki örnek, AdventureWorks veritabanındaki birincil veri dosyasının tüm kalan bilgileri temizler.

USE Master
GO
EXEC sp_clean_db_file_free_space 
@dbname = N'AdventureWorks', @fileid = 1 ;