sys.sp_cdc_cleanup_change_table (języka Transact-SQL)

Usuwa wiersze z tabela zmiany w bieżącej bazie danych, oparte na określonym low_water_mark wartości.Ta procedura składowana jest podana dla użytkowników, którzy chcą bezpośrednie zarządzanie procesem oczyszczania zmian tabela .Należy postępować ostrożnie, niemniej jednak, ponieważ procedura dotyczy wszystkich odbiorców danych w tabelazmiana.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • [ @ capture_instance = ] "capture_instance'
    Jest nazwą przechwytywania wystąpienie skojarzone z zmiana tabela.capture_instancejest sysname, z Brak domyślnej i nie może być NULL.

    capture_instanceMusisz nazwać przechwytywania wystąpienie , która istnieje w bieżącej bazie danych.

  • [ @ low_water_mark = ] low_water_mark
    Jest numer sekwencyjny dziennika (LSN), który ma być używany jako nowy dolnego dla capture instance.low_water_markjest binary(10), z braku domyślne.

    Jeśli wartość jest niepustych, musi pojawić się jako start_lsn wartość bieżącą wpisu w cdc.lsn_time_mapping tabela.Jeśli pozostałe wpisy w cdc.lsn_time_mapping udział w tym samym zatwierdzanie czas jako wpis identyfikowany przez nowy dolnego, najmniejszą LSN skojarzone z tą grupą wpisów jest wybrany jako znak wodny niski.

    Jeśli wartość jest jawnie zestaw na NULL, bieżący low watermark do capture instance jest używana do definiowania górnej granicy dla operacji oczyszczania.

  • [ @threshold= ] 'delete threshold'
    Jest maksymalną liczbę wpisów delete, które można usunąć za pomocą pojedynczej instrukcja na oczyszczanie.delete_thresholdjest bigint, domyślna wartość 5000.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Zestawy wyników

Brak

Uwagi

sys.sp_cdc_cleanup_change_tablewykonuje następujące operacje:

  1. Jeśli @low_water_mark parametru nie jest puste, ustawia wartość start_lsn do capture instance do nowego low watermark.

    Ostrzeżenie

    Nowe dolnego może nie być dolnego, określony w wywołaniu procedura składowana .Jeśli pozostałe wpisy w cdc.lsn_time_mapping tabela współużytkowanie tej samej zatwierdzanie czasnajmniejszym start_lsn reprezentowane w grupę wpisów jest zaznaczone jako skorygowana znak wodny niski.Jeśli @low_water_mark parametr ma wartość NULL lub dolny znak poziomu jest większy niż nowy lowwatermark start_lsn wartość przechwytywania wystąpienie pozostaje niezmieniona.

  2. Zmienić wpisy tabela z __$start_lsn wartości poniżej dolnego znaku poziomu są usuwane.Próg delete jest używana do ograniczania liczby wierszy usunięte w ramach pojedynczej transakcji.Błąd pomyślnie usuwania wpisów jest zgłaszane, ale nie wpływa na wszelkie zmiany do przechwytywania wystąpienie dolnego, który może być dokonane oparte na wywołanie.

Użycie sys.sp_cdc_cleanup_change_table w następujących okolicznościach:

  • Raporty zadanie agenta oczyszczania usunąć błędy.

    Administrator może uruchomić tę procedura składowana jawnie, aby ponowić próbę wykonania operacji nie powiodło się.Ponowienia próby oczyszczania przechwytywania danej wystąpienie, wykonać sys.sp_cdc_cleanup_change_table, i określić wartość NULL dla @low_water_mark parametru.

  • Proste zasady oparte na przechowywania używany przez agenta oczyszczania zadanie nie jest odpowiedni.

    Ponieważ ta procedura składowana nie Oczyszczanie przechwytywania pojedynczego wystąpienie, może służyć do tworzenia strategii niestandardowe porządkowanie dostosowanie zasad oczyszczania do przechwytywania pojedynczego wystąpienie.

Uprawnienia

Wymaga członkostwa w db_owner rola bazy danychstałej.