Aracılığıyla paylaş


sys.sp_cdc_cleanup_change_tableAşağıdaki (Transact-sql)

Geçerli veritabanında belirtilen temel değişikliği tablo satırları kaldırır low_water_markdeğer. Bu saklı yordam doğrudan değişim tablosu Temizleme işlemini yönetmek isteyen kullanıcılar içindir. Prosedür değişikliği tablo veri tüm tüketicilerin etkilediğinden dikkat, ancak kullanılmalıdır.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

sys.sp_cdc_cleanup_change_table 
  [ @capture_instance = ] 'capture_instance', 
  [ @low_water_mark = ] low_water_mark ,
  [ @threshold = ]'delete threshold'

Bağımsız değişkenler

  • @ capture_instance = 'capture_instance'
    Değişikliği tablo ile ilişkili yakalama örneğinin adıdır. capture_instanceise sysname, hiçbir varsayılan ile ve boş olamaz.

    capture_instancebir yakalama örneği geçerli veritabanında varolan ad vermelisiniz.

  • @ low_water_mark =low_water_mark
    Yeni düşük filigran olarak kullanılacak olan bir günlük sıra numarası (lsn) ise capture instance. low_water_markise binary(10), hiçbir varsayılan ile.

    Nonnull değerse olarak görünmesi gerekir start_lsngeçerli bir girdi değeri cdc.lsn_time_mapping tablosu. Eğer diğer girdileri cdc.lsn_time_mappingYeni alt filigran, girişleri bu grupla ilişkili küçük lsn tanımlanan giriş düşük filigran olarak seçilen aynı tamamlama zaman paylaşmak.

    Değeri açıkça null, geçerli olarak ayarlanırsa, low watermarkiçin capture instancetemizleme işlemi için üst sınır tanımlamak için kullanılır.

  • @threshold='delete threshold'
    En yüksek temizlik üzerinde tek bir deyimi kullanılarak silinebilir girişlerini silme sayısıdır. delete_thresholdise bigint, 5000 varsayılan.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Hiçbiri

Açıklamalar

sys.sp_cdc_cleanup_change_tableaşağıdaki işlemleri gerçekleştirir:

  1. Eğer @low\_water\_markparametresi null değil, değerini ayarlar start_lsniçin capture instanceYeni low watermark.

    [!NOT]

    Yeni alt filigran saklı yordam çağrısında belirtilen alt filigran olmayabilir. Eğer diğer girdileri cdc.lsn_time_mappingtablo payı aynı tamamlama süresi, en küçük start_lsntemsil girişleri bir grup ayarlanan alt filigran seçilir. Eğer @low_water_markparametresi null veya geçerli alt filigran yeni lowwatermark, büyük start_lsndeğişmeden değer yakalama örneği kalır.

  2. Değiştirme tablo girdileri ile __$start_lsnalt filigran'den küçük değerler sonra silinir. Sil eşik, tek bir işlem Silinen satır sayısını sınırlamak için kullanılır. Başarıyla girişlerini silmek için hata bildirilen, ancak herhangi bir değişiklik için arama tabanlı yapılmış yakalama örneği alt filigran etkilemez.

Kullanım sys.sp_cdc_cleanup_change_tableAşağıdaki durumlarda:

  • Temizleme Aracısı iş raporları hataları silin.

    Bir yönetici, açıkça bir başarısız olan işlemi yeniden denemek için bu saklı yordamı çalıştırabilirsiniz. Verilen yakalama örneği Temizleme yeniden denemek için idam sys.sp_cdc_cleanup_change_table, ve null belirtmek @low\_water\_markparametresi.

  • Temizleme Aracısı işlem tarafından kullanılan basit saklama tabanlı ilke yeterli değil.

    Çünkü bu saklı yordam tek yakalama örneği Temizleme yapar, tek tek yakalama örneği Temizleme kuralları tailors özel temizleme stratejisi oluşturmak için kullanılabilir.

İzinler

Üyelik db_ownerveritabanı rolü.

Ayrıca bkz.

Başvuru

CDC.fn_cdc_get_all_changes_<capture_instance> (Transact-sql)

sys.fn_cdc_get_min_lsn (Transact-sql)

sys.fn_cdc_increment_lsn (Transact-sql)