Aracılığıyla paylaş


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:

  • Çünkü tutturulmuş gereken dosyaları yedekleme günlüğü veya CheckPoint değil alınmıştır.

  • Dosyaları tam veya bulk_logged kurtarma modeli.

  • Uzun süren bir etkin işlem yoktur.

  • Çoğaltma günlük Okuyucu iş çalıştırılmadı.Teknik incelemesine bakın FILESTREAM depolama SQL Server 2008 daha fazla bilgi için.

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';

Ayrıca bkz.

Diğer Kaynaklar

FILESTREAM depolama SQL Server 2008