sp_clean_db_file_free_space (Transact-sql)
Kalan bilgileri yaptı kaldırır veritabanı sayfaları veri değiştirme yordamları nedeniyle SQL Server. sp_clean_db_file_free_spacebir veritabanı yalnızca tek bir dosyada tüm sayfaları temizler.
Transact-SQL Sözdizim Kuralları
Sözdizimi
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'
Temizlemek için veritabanı adıdır. dbnameise sysnameve boş olamaz.[ @fileid= ] 'file_number'
Temizlemek için veri dosyası kimliğidir. file_numberise intve boş olamaz.[ @cleaning\_delay= ] 'delay_in_seconds'
Sayfaları Temizleme arasındaki gecikme aralığı belirtir. Bu g/Ç sisteminin etkisini azaltmaya yardımcı olur. delay_in_secondsise intvarsayılan olarak 0.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Açıklamalar
İşlemleri, taşımak için bir satır hemen boş alan açma sayfasındaki satır başvuruları kaldırarak bu neden için bir tablo veya güncelleştirme işlemlerini siler. Bununla birlikte, belirli koşullar altında satır fiziksel veri sayfasında bir hayalet kayıt olarak kalabilir. Hayalet kayıt belirli aralıklarla arka plan işlemi tarafından kaldırılır. Bu fazlalık veri tarafından döndürülen değil Veritabanı Altyapısıyanıt olarak sorgular. Ancak, veri veya yedekleme dosyalarının fiziksel güvenlik riski olduğu ortamlarda kullanabileceğiniz sp_clean_db_file_free_spacetemizlemek için bu kayıtların hayalet.
Çalıştırmak için gereken süreyi sp_clean_db_file_free_spacedosyası, kullanılabilir boş alan ve disk kapasitesini boyutuna bağlıdır. Çünkü çalışan sp_clean_db_file_free_spaceg/Ç etkinliği, önemli ölçüde etkileyebilir normal çalışma saatleri dışında bu yordamı çalıştırmak öneririz.
Çalıştırmadan önce sp_clean_db_file_free_space, tam veritabanı yedeklemesi oluşturmanızı öneririz.
İlgili sp_clean_db_free_space saklı yordam veritabanındaki tüm dosyaları temizler.
İzinler
Üyelik db_ownerveritabanı rolü.
Örnekler
Aşağıdaki örnek birincil veri dosyasının tüm kalan bilgileri temizler AdventureWorks2012veritabanı.
USE Master
GO
EXEC sp_clean_db_file_free_space
@dbname = N'AdventureWorks2012', @fileid = 1 ;
USE Master
GO
EXEC sp_clean_db_file_free_space
@dbname = N'AdventureWorks2012', @fileid = 1 ;