Aracılığıyla paylaş


sp_clean_db_file_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_file_free_space veritabanının yalnızca bir dosyasındaki tüm sayfaları temizler.

Transact-SQL söz dizimi kuralları

Sözdizimi

sp_clean_db_file_free_space
    [ @dbname = ] N'dbname'
    , [ @fileid = ] fileid
    [ , [ @cleaning_delay = ] cleaning_delay ]
[ ; ]

Arguments

[ @dbname = ] N'dbname'

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

[ @fileid = ] file id

Temizlemek için veri dosyası kimliği. @fileid içeri, varsayılan yok.

[ @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_file_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_file_free_space süresi, veri dosyasının boyutuna, dosyadaki kullanılan sayfa sayısına ve diskin I/O yeteneklerine bağlıdır. Çalışmak sp_clean_db_file_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_file_free_spaceönce, tam bir veritabanı yedeği oluşturmanızı öneririz.

Bu işlemi veritabanındaki tüm veri dosyaları için gerçekleştirmek için sp_clean_db_free_space kullanın.

Permissions

db_owner veritabanı rolünde üyelik gerektirir.

Örnekler

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

USE master;
GO

EXECUTE sp_clean_db_file_free_space
    @dbname = N'AdventureWorks2022',
    @fileid = 1;