Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Skapar ett upprensnings- eller fångstjobb för förändringsdataregistrering i den aktuella databasen.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_cdc_add_job [ @job_type = ] N'job_type'
[ , [ @start_job = ] start_job ]
[ , [ @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 lägga till.
@job_type är nvarchar(20) och kan inte vara NULLdet. Giltiga indata är capture och cleanup.
[ @start_job = ] start_job
Flagga som anger om jobbet ska påbörjas omedelbart efter att det lagts till.
@start_jobbitas med standardvärdet .1
[ @maxtrans ] = max_trans
Maximalt antal transaktioner att hantera i varje skanningscykel.
@maxtrans är int med en standard på 500. Om det anges måste värdet vara ett positivt heltal.
@maxtrans gäller endast för inspelningsjobb.
[ @maxscans ] = max_scans
Maximalt antal skanningscykler att köra för att extrahera alla rader från loggen.
@maxscans är int med en standard på 10.
@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).
@continuousbitas med standardvärdet .1
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, körs jobbetsp_cdc_scanupp till @maxscans skanningar av loggen, bearbetar upp till @maxtrans transaktion under varje skanning och avslutar sedan.
@continuous gäller endast för capture-jobb.
[ @pollinginterval ] = polling_interval
Antal sekunder mellan logskanningscykler.
@pollinginterval är bigint med en standard på 5.
@pollinginterval gäller endast för capture-jobb när @continuous är satt till 1. Om det anges måste värdet vara större än eller lika med 0 och mindre än 24 timmar (upp till 86 399 sekunder). Om ett värde på 0 anges finns det ingen väntetid mellan loggskanningarna.
[ @retention ] = retention
Antalet minuter som ändrar datarader ska sparas i ändringstabeller.
@retention är bigint med en standardtid på 4320 (72 timmar). 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 = ] 'delete_threshold'
Maximalt antal raderingsposter som kan raderas genom att använda en enda sats vid rensning.
@threshold är bigint med en standard på 5000.
Returnera kodvärden
0 (lyckades) eller 1 (fel).
Resultatuppsättning
Ingen.
Anmärkningar
Ett rensningsjobb skapas med standardvärdena när den första tabellen i databasen aktiveras för insamling av ändringsdata. Ett capture-jobb skapas med standardvärdena när den första tabellen i databasen aktiveras för ändringsdatafångst och inga transaktionella publikationer finns för databasen. När en transaktionell publikation finns används transaktionsloggläsaren för att driva fångstmekanismen, och ett separat fångstjobb krävs eller är inte tillåtet.
Eftersom rensnings- och fångstjobben skapas som standard är denna lagrade procedur endast nödvändig när ett jobb uttryckligen har tagits bort och måste återskapas.
Namnet på jobbet är cdc.<database_name>_cleanup eller cdc.<database_name>_capture, där <database_name> är namnet på den aktuella databasen. Om ett jobb med samma namn redan existerar, läggs namnet till med en punkt (.) följt av en unik identifierare, till exempel: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.
För att se den aktuella konfigurationen av ett rensnings- eller fångstjobb, använd sys.sp_cdc_help_jobs. För att ändra konfigurationen av ett jobb, använd sys.sp_cdc_change_job.
Permissions
Kräver medlemskap i den db_owner fasta databasrollen.
Examples
A. Skapa ett capture-jobb
Följande exempel skapar ett capture-jobb. Detta exempel antar att det befintliga saneringsjobbet uttryckligen togs bort och måste återskapas. Jobbet skapas med standardvärdena.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_add_job @job_type = N'capture';
GO
B. Skapa ett saneringsjobb
Följande exempel skapar ett saneringsjobb i AdventureWorks2025-databasen. Parametern @start_job sätts till 0 och @retention är inställd på 5760 minuter (96 timmar). Detta exempel antar att det befintliga saneringsjobbet uttryckligen togs bort och måste återskapas.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_add_job
@job_type = N'cleanup',
@start_job = 0,
@retention = 5760;