Delen via


sys.sp_cdc_change_job (Transact-SQL)

Van toepassing op:SQL Server

Wijzigt de configuratie van een wijzigingsdata-opname of -capture-taak in de huidige database. Om de huidige configuratie van een taak te bekijken, raadpleeg de dbo.cdc_jobs tabel of gebruik sys.sp_cdc_help_jobs.

Transact-SQL syntaxis-conventies

Syntaxis

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

Arguments

[ @job_type = ] N'job_type'

Type baan om aan te passen. @job_type is nvarchar(20) met een standaard van capture. Geldige invoeren zijn capture en cleanup.

[ @maxtrans ] = max_trans

Maximaal aantal transacties om te verwerken in elke scancyclus. @maxtrans is int, met een standaard van NULL, wat aangeeft dat deze parameter niet veranderd is. Indien opgegeven, moet de waarde een positief geheel getal zijn.

@max_trans geldt alleen voor capture jobs.

[ @maxscans ] = max_scans

Maximaal aantal scancycli om uit te voeren om alle rijen uit het logboek te halen. @maxscans is int, met een standaard van NULL, wat aangeeft dat deze parameter niet veranderd is.

@max_scan geldt alleen voor capture jobs.

[ @continuous ] = continu

Geeft aan of de capture job continu moet draaien (1), of slechts één keer (0). @continuous is bit, met een standaard van NULL, wat aangeeft dat deze parameter niet veranderd is.

  • Wanneer @continuous , 1scant de sys.sp_cdc_scan taak het logboek en verwerkt transacties tot (@maxtrans * @maxscans) . Daarna wacht het aantal seconden dat in @pollinginterval is opgegeven voordat het begint met de volgende logscan.

  • Wanneer @continuous is 0, voert de sp_cdc_scan taak tot @maxscans scans van het logboek uit, verwerkt tot @maxtrans transacties tijdens elke scan, en sluit dan af.

  • Als @continuous verandert van 1 naar 0, wordt @pollinginterval automatisch ingesteld op 0. Een waarde die voor @pollinginterval anders dan 0 is gespecificeerd, wordt genegeerd.

  • Als @continuous wordt weggelaten of expliciet wordt ingesteld op NULL en @pollinginterval expliciet wordt ingesteld op een waarde groter dan 0, wordt @continuous automatisch ingesteld op 1.

@continuous is alleen geldig voor capture jobs.

[ @pollinginterval ] = polling_interval

Aantal seconden tussen logscancycli. @pollinginterval is bigint, met een standaard van NULL, wat aangeeft dat deze parameter niet verandert.

@pollinginterval is alleen geldig voor capture-taken wanneer @continuous is ingesteld op 1.

[ @retention ] = behoud

Het aantal minuten dat rijen verandert moet worden bijgehouden in wijzigingstabellen. @retention is bigint, met een standaard van NULL, wat aangeeft dat deze parameter niet veranderd is. De maximale waarde is 52494800 (100 jaar). Indien opgegeven, moet de waarde een positief geheel getal zijn.

@retention geldt alleen voor opruimklussen.

[ @threshold = ] 'drempel verwijderen'

Maximaal aantal verwijderingsitems dat met één enkele instructie bij het opruimen kan worden verwijderd. @threshold is bigint, met een standaard van NULL, wat aangeeft dat deze parameter niet verandert. @threshold geldt alleen voor opruimklussen.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Resultaatset

Geen.

Opmerkingen

Als een parameter wordt weggelaten, wordt de bijbehorende waarde in de dbo.cdc_jobs tabel niet bijgewerkt. Een parameter die expliciet op NULL is gezet, wordt behandeld alsof de parameter wordt weggelaten.

Het specificeren van een parameter die ongeldig is voor het taaktype veroorzaakt dat de instructie faalt.

Wijzigingen aan een baan gaan pas in werking als de baan wordt gestopt met sys.sp_cdc_stop_job en opnieuw wordt gestart met sys.sp_cdc_start_job.

Permissions

Vereist lidmaatschap van de db_owner vaste databaserol.

Voorbeelden

Eén. Verander een capture job

Het volgende voorbeeld werkt de parameters van @job_type,@maxscans en @maxtrans van een capture job in de AdventureWorks2025 database bij. De andere geldige parameters voor een capture job, @continuous en @pollinginterval, worden weggelaten; Hun waarden worden niet aangepast.

USE AdventureWorks2022;
GO

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

B. Verander een schoonmaakklus

Het volgende voorbeeld werkt een opruimtaak in de AdventureWorks2025 database bij. Alle geldige parameters voor dit type taak, behalve @threshold, zijn gespecificeerd. De waarde van @threshold wordt niet aangepast.

USE AdventureWorks2022;
GO

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