sp_filestream_force_garbage_collection (Transact-sql)
FILESTREAM çöp toplayıcısını çalıştırmak için herhangi bir silme FILESTREAM dosyaları gereksiz zorlar.
FILESTREAM kapsayıcı içindeki tüm silinen dosyaları çöp toplayıcı tarafından temizlenen kadar kaldırılamaz. FILESTREAM çöp toplayıcısını otomatik olarak çalışır. Ancak, çöp toplayıcısını çalıştırmak vardır bir kap kaldırmanız gerekiyorsa, sen-ebilmek kullanma sp_filestream_force_garbage_collectionçöp toplayıcı el ile çalıştırmak için.
Sözdizimi
sp_filestream_force_garbage_collection [ @dbname = ] 'database_name' , @filename = 'logical_file_name' ]
Bağımsız değişkenler
@ dbname = database_name**'**
Çöp toplayıcısını çalıştırmak için veritabanının adını belirtir.[!NOT]
dbnameis sysname. Aksi takdirde belirtilirse, geçerli veritabanına kabul edilir.
@ filename =logical_file_name
Çöp toplayıcısını çalıştırmak için FILESTREAM kapsayıcı mantıksal adını belirtir. @ filename isteğe bağlıdır. Mantıksal dosya adı belirtilirse, belirtilen veritabanı tüm FILESTREAM kapsayıcı çöp toplayıcı temizleyecek.
Dönüş Kodu Değerleri
Değer |
Açıklama |
0 |
İşlem başarılı |
1 |
İşlem hatası |
Sonuç Kümeleri
Değer |
Açıklama |
---|---|
file_name |
FILESTREAM kapsayıcı adını gösterir |
num_collected_items |
Çöp toplanan (silindi) have been bu kapsayıcıda FILESTREAM maddelerin (dosya/dizin) sayısını gösterir. |
num_marked_for_collection_items |
Çöp toplama bu kapsayıcıdaki işaretlenen FILESTREAM maddelerin (dosya/dizin) sayısını gösterir. Bu öğeler değil henüz silinmiş beeeen var, ama aşağıdaki çöp toplama aşaması silmek için uygun olabilir. |
num_unprocessed_items |
Çöp toplama bu FILESTREAM kapsayıcı içinde işlenmeyen uygun FILESTREAM öğeleri (dosyaların veya dizinlerin) sayısını gösterir. Öğeleri aşağıdaki gibi çeşitli nedenlerle, işlenmemiş olabilir:
|
last_collected_xact_seqno |
Kadar olan dosyaları için belirtilen FILESTREAM kapsayıcı çöp olmuştur son karşılık gelen günlük sıra numarası (lsn) döndürür. |
Açıklamalar
Açıkça FILESTREAM Çöp Toplayıcısı görev tamamlanması istenen veritabanı (ve FILESTREAM kapsayıcı) çalışır. Artık gerekli olmayan dosyaları çöp toplama işlemi tarafından kaldırılır. Bu işlemin tamamlanması için gereken süreyi veritabanı veya kapsayıcı yanı sıra, son zamanlarda oluştu dml etkinliğinin miktarı FILESTREAM veri FILESTREAM veri boyutuna bağlıdır. Bu işlemi çevrimiçi veritabanı ile çalıştırılabilir olsa, bu çöp toplama işlemi tarafından yapılan çeşitli I/O faaliyetleri nedeniyle, çalışma sırasında veritabanı performansını etkileyebilir.
[!NOT]
Bu işlem yalnızca gerekli olduğunda ve normal çalışma saatleri dışında çalıştırılması önerilir.
Bu saklı yordam birden çok çağırmaları, aynı anda yalnızca ayrı konteyner veya ayrı veritabanları üzerinde çalıştırılabilir.
İzinler
Üyelik db_ownerveritabanı rolü.
Örnekler
Aşağıdaki örneklerde FILESTREAM kaplarda çöp toplayıcısını çalıştırmak FSDBveritabanı.
A.Hiçbir konteyner belirtme
USE FSDB;
GO
EXEC sp_filestream_force_garbage_collection @dbname = N'FSDB';
USE FSDB;
GO
EXEC sp_filestream_force_garbage_collection @dbname = N'FSDB';
B.Bir kapsayıcı belirtme
USE FSDB;
GO
EXEC sp_filestream_force_garbage_collection @dbname = N'FSDB' @filename = N'FSContainer';
USE FSDB;
GO
EXEC sp_filestream_force_garbage_collection @dbname = N'FSDB' @filename = N'FSContainer';