sys.sp_cdc_change_job (Transact-SQL)

Ändert die Konfiguration eines Cleanup- oder Aufzeichnungsauftrags für Change Data Capture in der aktuellen Datenbank. Zum Anzeigen der aktuellen Konfiguration eines Auftrags fragen Sie die dbo.cdc_jobs-Tabelle ab, oder verwenden Sie sp_cdc_help_jobs.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

sys.sp_cdc_change_job [ [ @job_type = ] 'job_type' ]
    [ , [ @maxtrans = ] max_trans ] 
    [ , [ @maxscans = ] max_scans ] 
    [ , [ @continuous = ] continuous ] 
    [ , [ @pollinginterval = ] polling_interval ] 
    [ , [ @retention ] = retention ] 
    [ @threshold = ] 'delete threshold'

Argumente

  • [ @job_type= ] 'job_type'
    Der Typ des zu ändernden Auftrags. job_type ist vom Datentyp nvarchar(20). Der Standardwert ist "capture". Gültige Eingaben sind 'capture' und 'cleanup'.

  • [ @maxtrans ] **=**max_trans
    Maximale Anzahl der in jedem Scanzyklus zu verarbeitenden Transaktionen. max_trans ist vom Datentyp int, und der Standardwert ist NULL. Dieser gibt an, dass keine Änderung für diesen Parameter erfolgt. Wenn dieser Wert angegeben ist, muss er eine positive ganze Zahl annehmen.

    max_trans ist nur für Aufzeichnungsaufträge gültig.

  • [ @maxscans ] **=**max_scans
    Maximale Anzahl der Scanzyklen, die ausgeführt werden sollen, um alle Zeilen aus dem Protokoll zu extrahieren. max_scans ist vom Datentyp int, und der Standardwert ist NULL. Dieser gibt an, dass keine Änderung für diesen Parameter erfolgt.

    max_scan ist nur für Aufzeichnungsaufträge gültig.

  • [ @continuous ] **=**continuous
    Gibt an, ob der Aufzeichnungsauftrag kontinuierlich (1) oder nur einmal (0) ausgeführt wird. continuous ist vom Datentyp bit, und der Standardwert ist NULL. Dieser gibt an, dass keine Änderung für diesen Parameter erfolgt.

    Wenn continuous = 1 ist, scannt der sp_cdc_scan-Auftrag das Protokoll und verarbeitet bis zu (max_trans * max_scans) Transaktionen. Er wartet dann vor dem Starten des nächsten Protokollscans die Anzahl der Sekunden ab, die in polling_interval angegeben ist.

    Wenn continuous = 0, führt der sp_cdc_scan-Auftrag bis zu max_scans Scanvorgänge des Protokolls aus, verarbeitet dabei bis zu max_trans Transaktionen während jedes Scanvorgangs und wird dann beendet.

    Wenn @continuous von 1 in 0 geändert wird, wird @pollinginterval automatisch auf 0 festgelegt. Für @pollinginterval angegebene Werte, die ungleich 0 sind, werden ignoriert.

    Wird @continuous weggelassen oder ausdrücklich auf NULL festgelegt, und wird @pollinginterval ausdrücklich auf einen Wert größer 0 festgelegt, so wird @continuous automatisch auf 1 festgelegt.

    continuous ist nur für Aufzeichnungsaufträge gültig.

  • [ @pollinginterval ] **=**polling_interval
    Anzahl der Sekunden zwischen Protokollscanzyklen. polling_interval ist vom Datentyp bigint, und der Standardwert ist NULL. Dieser gibt an, dass keine Änderung für diesen Parameter erfolgt.

    polling_interval ist nur für Aufzeichnungsaufträge gültig, wenn continuous auf 1 festgelegt ist.

  • [ @retention ] **=**retention
    Die Anzahl von Minuten, für die Änderungszeilen in Änderungstabellen beibehalten werden sollen. retention ist vom Datentyp bigint, und der Standardwert ist NULL. Dieser gibt an, dass keine Änderung für diesen Parameter erfolgt. Der Maximalwert beträgt 52494800 (100 Jahre). Wenn dieser Wert angegeben ist, muss er eine positive ganze Zahl annehmen.

    retention ist nur für Cleanupaufträge gültig.

  • [ @threshold= ] 'delete threshold'
    Die maximale Anzahl der Einträge, die mit einer einzelnen Anweisung beim Cleanup gelöscht werden können. delete threshold ist vom Datentyp bigint, und der Standardwert ist NULL. Dieser gibt an, dass keine Änderung für diesen Parameter erfolgt. delete threshold ist nur für Cleanupaufträge gültig.

Rückgabecodewerte

0 (Erfolg) oder 1 (Fehler)

Resultsets

Keine

Hinweise

Wird ein Parameter weggelassen, wird der zugeordnete Wert in der dbo.cdc_jobs-Tabelle nicht aktualisiert. Ein explizit auf NULL festgelegter Parameter wird so behandelt, als ob der Parameter weggelassen wird.

Die Angabe eines für den Auftragstyp ungültigen Parameters führt dazu, dass die Anweisung fehlschlägt.

Änderungen an einem Auftrag werden erst dann wirksam, wenn der Auftrag über sp_cdc_stop_job beendet und über sp_cdc_start_job erneut gestartet wurde.

Berechtigungen

Erfordert die Mitgliedschaft in der festen Datenbankrolle db_owner.

Beispiele

A.Ändern eines Aufzeichnungsauftrags

Im folgenden Beispiel werden die Parameter @job\_type, @maxscans und @maxtrans eines Aufzeichnungsauftrags in der AdventureWorks2012-Datenbank aktualisiert. Die anderen gültigen Parameter für einen Aufzeichnungsauftrag, @continuous und @pollinginterval, werden weggelassen. Deren Werte werden nicht geändert.

USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job 
    @job_type = N'capture',
    @maxscans = 1000,
    @maxtrans = 15;
GO

B.Ändern eines Cleanupauftrags

Im folgenden Beispiel wird ein Cleanupauftrag in der AdventureWorks2012-Datenbank aktualisiert. Es werden alle gültigen Parameter für diesen Auftragstyp, außer @threshold, angegeben. Der Wert von @threshold wird nicht geändert.

USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job 
    @job_type = N'cleanup',
    @retention = 2880;
GO

Siehe auch

Verweis

dbo.cdc_jobs (Transact-SQL)

sys.sp_cdc_enable_table (Transact-SQL)

sys.sp_cdc_add_job (Transact-SQL)