sys.sp_cdc_change_job (Transact-SQL)

Gäller för:SQL Server

Ändrar konfigurationen av ett sanerings- eller fångstjobb för ändringsdatainsamling i den aktuella databasen. För att se den aktuella konfigurationen av ett jobb, sök i tabellen dbo.cdc_jobs eller använd sys.sp_cdc_help_jobs.

Transact-SQL syntaxkonventioner

Syntax

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'

Typ av jobb att modifiera. @job_type är nvarchar(20) med en standard på capture. Giltiga indata är capture och cleanup.

[ @maxtrans ] = max_trans

Maximalt antal transaktioner att hantera i varje skanningscykel. @maxtrans är int, med en standard på NULL, vilket indikerar att denna parameter inte ändras. Om det anges måste värdet vara ett positivt heltal.

@max_trans gäller endast för capture-jobb.

[ @maxscans ] = max_scans

Maximalt antal skanningscykler att köra för att extrahera alla rader från loggen. @maxscans är int, med standardvärdet , NULLvilket indikerar att denna parameter inte ändras.

@max_scan gäller endast för capture-jobb.

[ @continuous ] = kontinuerlig

Anger om fångstjobbet ska köras kontinuerligt (1), eller endast köras en gång (0). @continuous är bit, med standardvärdet , NULLvilket indikerar att denna parameter inte ändras.

  • När @continuous är 1, skannar sys.sp_cdc_scan jobbet loggen och behandlar upp till (@maxtrans * @maxscans) transaktioner. Sedan väntar den på det antal sekunder som anges i @pollinginterval innan nästa loggskanning påbörjas.

  • När @continuous är 0, sp_cdc_scan kör jobbet upp till @maxscans skanningar av loggen, bearbetar upp till @maxtrans transaktioner under varje skanning och avslutar sedan.

  • Om @continuous ändras från 1 till 0, ställs @pollinginterval automatiskt in till 0. Ett värde specificerat för @pollinginterval annat än 0 ignoreras.

  • Om @continuous utelämnas eller uttryckligen sätts till NULL och @pollinginterval uttryckligen sätts till ett värde större än 0, sätts @continuous automatiskt till 1.

@continuous gäller endast för capture-jobb.

[ @pollinginterval ] = polling_interval

Antal sekunder mellan logskanningscykler. @pollinginterval är bigint, med en standard på NULL, vilket indikerar att denna parameter inte ändras.

@pollinginterval gäller endast för capture-jobb när @continuous är satt till 1.

[ @retention ] = retention

Antalet minuter som ändrar rader ska bevaras i bytestabellerna. @retention är bigint, med en standard på NULL, vilket indikerar att denna parameter inte ändras. Maxvärdet är 52494800 (100 år). Om det anges måste värdet vara ett positivt heltal.

@retention gäller endast för städjobb.

[ @threshold = ] 'ta bort tröskel'

Maximalt antal raderingsposter som kan raderas med en enda sats vid rensning. @threshold är bigint, med en standard på NULL, vilket indikerar att denna parameter inte ändras. @threshold gäller endast för städjobb.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Resultatuppsättning

Ingen.

Anmärkningar

Om en parameter utelämnas uppdateras inte det associerade värdet i dbo.cdc_jobs tabellen. En parameter som explicit är satt till NULL behandlas som om parametern utelämnas.

Att specificera en parameter som är ogiltig för jobbtypen gör att satsen misslyckas.

Ändringar i ett jobb träder inte i kraft förrän jobbet stoppas med sys.sp_cdc_stop_job och startas om med sys.sp_cdc_start_job.

Permissions

Kräver medlemskap i rollen db_owner fast databas.

Examples

A. Byt ett fångstjobb

Följande exempel uppdaterar parametrarna @job_type, @maxscans och @maxtrans för ett capture-jobb i databasen AdventureWorks2025 . De andra giltiga parametrarna för ett capture-jobb, @continuous och @pollinginterval, utelämnas; Deras värden förändras inte.

USE AdventureWorks2022;
GO

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

B. Byt städjobb

Följande exempel uppdaterar ett saneringsjobb i databasen AdventureWorks2025 . Alla giltiga parametrar för denna jobbtyp, utom @threshold, specificeras. Värdet på @threshold ändras inte.

USE AdventureWorks2022;
GO

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