Aracılığıyla paylaş


sp_clean_db_free_space (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Veri sayfalarındaki kalıntı bilgileri kaldırır. sp_clean_db_free_space veritabanındaki tüm veri dosyalarındaki tüm sayfaları temizler.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_clean_db_free_space
    [ @dbname = ] N'dbname'
    [ , [ @cleaning_delay = ] cleaning_delay ]
[ ; ]

Arguments

[ @dbname = ] N'dbname'

Temizlenecek veritabanının adı. @dbnamesysname'dir, varsayılan yoktur.

[ @cleaning_delay = ] cleaning_delay

Her sayfanın temizlenmesinden önce saniyeler cinsinden bir gecikme aralığı belirtir. @cleaning_delayint, varsayılan olarak .0 Bu gecikme, I/O sisteminin yükünü azaltmaya yardımcı olur ancak temizlik sürecinin süresini uzatır.

Dönüş kodu değerleri

0 (başarı) veya 1 (başarısızlık).

Açıklamalar

Sistem tarafından saklanan prosedür, sp_clean_db_free_space bir sayfadaki tüm satırları, varsa hayaletsiz kayıtlar dahil, sayfanın başına taşır ve ardından sayfadaki kalan veri alanını sıfırla başlatır. Veri dosyalarının veya altta yatan depolamanın fiziksel güvenliğinin risk altında olduğu ortamlarda, bu depolama prosedürünü kullanarak veri dosyalarında veya depolamada silinmiş hiçbir kalıntı verinin kalmasını sağlayabilirsiniz.

Çalışma sp_clean_db_free_space süresi, veri dosyalarının boyutuna, dosyalarda kullanılan sayfa sayısına ve diskin I/O yeteneklerine bağlıdır. Çalışmak sp_clean_db_free_space I/O aktivitesini önemli ölçüde artırabildiği için, bu prosedürü alışılmış çalışma saatleri dışında çalıştırmanızı öneririz.

Çalışmadan sp_clean_db_free_spaceönce, tam bir veritabanı yedeği oluşturmanızı öneririz.

Bu işlemi veritabanı dosyası başına gerçekleştirmek için sp_clean_db_file_free_space kullanın.

Permissions

Veritabanı rolünde db_owner üyelik gerektirir.

Örnekler

Aşağıdaki örnek, veritabanındaki AdventureWorks2025 tüm kalıntı verileri temizler.

USE master;
GO

EXECUTE sp_clean_db_free_space @dbname = N'AdventureWorks2022';