Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:SQL Server
Maakt een wijzigingsdata-opname of -capture job aan in de huidige database.
Transact-SQL syntaxis-conventies
Syntaxis
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'
Een soort baan om toe te voegen.
@job_type is nvarchar(20) en kan niet .NULL Geldige invoeren zijn capture en cleanup.
[ @start_job = ] start_job
Een vlag die aangeeft of de baan direct na toevoeging moet worden gestart.
@start_job is bit met een standaard van 1.
[ @maxtrans ] = max_trans
Maximaal aantal transacties om te verwerken in elke scancyclus.
@maxtrans is int met een standaard van 500. Indien opgegeven, moet de waarde een positief geheel getal zijn.
@maxtrans is alleen geldig 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 10.
@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 1.
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 desp_cdc_scantaak tot @maxscans scans van het logboek uit, verwerkt tot @maxtrans transactie tijdens elke scan, en sluit dan af.
@continuous is alleen geldig voor capture jobs.
[ @pollinginterval ] = polling_interval
Aantal seconden tussen logscancycli.
@pollinginterval is bigint met een standaard van 5.
@pollinginterval is alleen geldig voor capture-taken wanneer @continuous is ingesteld op 1. Indien gespecificeerd, moet de waarde groter zijn dan of gelijk aan 0 en minder dan 24 uur (tot 86399 seconden). Als een waarde van 0 wordt opgegeven, is er geen wachttijd tussen logscans.
[ @retention ] = behoud
Het aantal minuten dat datarijen wijzigt moet worden behouden in wijzigingstabellen.
@retention is bigint met een standaard van 4320 (72 uur). De maximale waarde is 52494800 (100 jaar). Indien opgegeven, moet de waarde een positief geheel getal zijn.
@retention geldt alleen voor opruimklussen.
[ @threshold = ] 'delete_threshold'
Maximaal aantal verwijderingsitems dat kan worden verwijderd door één enkele instructie bij opruiming te gebruiken.
@threshold is bigint met een standaard van 5000.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Resultaatset
Geen.
Opmerkingen
Een opruimtaak wordt aangemaakt met de standaardwaarden wanneer de eerste tabel in de database is ingeschakeld voor wijzigingsgegevensvastlegging. Een capture-taak wordt aangemaakt met de standaardwaarden wanneer de eerste tabel in de database is ingeschakeld voor wijzigingsdata-capture en er geen transactionele publicaties voor de database bestaan. Wanneer er een transactionele publicatie bestaat, wordt de transactionele logboeklezer gebruikt om het capture-mechanisme aan te sturen, en is een aparte capture-taak niet vereist of toegestaan.
Omdat de opruim- en capture-taken standaard worden aangemaakt, is deze opgeslagen procedure alleen nodig wanneer een job expliciet is verwijderd en opnieuw moet worden aangemaakt.
De naam van de functie is cdc.<database_name>_cleanup of cdc.<database_name>_capture, waarbij <database_name> de naam van de huidige database is. Als er al een taak met dezelfde naam bestaat, wordt de naam toegevoegd met een punt (.) gevolgd door een unieke identificatie, bijvoorbeeld: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.
Om de huidige configuratie van een opruim- of capture-taak te bekijken, gebruik sys.sp_cdc_help_jobs. Om de configuratie van een taak te wijzigen, gebruik sys.sp_cdc_change_job.
Permissions
Vereist lidmaatschap van de db_owner standaard databaserol.
Voorbeelden
Eén. Maak een capture job aan
Het volgende voorbeeld creëert een capture job. Dit voorbeeld gaat ervan uit dat de bestaande opruimtaak expliciet is weggelaten en opnieuw moet worden aangemaakt. De taak wordt gemaakt met behulp van de standaardwaarden.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_add_job @job_type = N'capture';
GO
B. Maak een opruimklus
Het volgende voorbeeld maakt een opruimtaak aan in de AdventureWorks2025-database. De parameter @start_job is ingesteld op 0 en @retention is ingesteld op 5760 minuten (96 uur). Dit voorbeeld gaat ervan uit dat de bestaande opruimtaak expliciet is weggelaten en opnieuw moet worden aangemaakt.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_add_job
@job_type = N'cleanup',
@start_job = 0,
@retention = 5760;
Verwante inhoud
- dbo.cdc_jobs (Transact-SQL)
- sys.sp_cdc_enable_table (Transact-SQL)
- Wat is change data capture (CDC)?