Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Si applica a: SQL Server
Consente di creare un processo di pulizia dell'acquisizione dei dati delle modifiche o un processo di acquisizione nel database corrente.
Convenzioni relative alla sintassi Transact-SQL
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' ]
[ ; ]
Tipo di processo da aggiungere. @job_type è nvarchar(20) e non può essere NULL
. Gli input validi sono capture
e cleanup
.
Flag che indica se il processo deve essere avviato immediatamente dopo l'aggiunta. @start_job è bit con un valore predefinito .1
Numero massimo di transazioni da elaborare in ogni ciclo di analisi. @maxtrans è int con il valore predefinito 500
. Se specificato, il valore deve essere un numero intero positivo.
@maxtrans è valido solo per i processi di acquisizione.
Numero massimo di cicli di analisi da eseguire per estrarre tutte le righe dal log. @maxscans è int con il valore predefinito 10
.
@max_scan è valido solo per i processi di acquisizione.
Indica se il processo di acquisizione deve essere eseguito in modo continuo (1
) o eseguito una sola volta (0
). @continuous è bit con un valore predefinito .1
Quando @continuous è 1
, il processo sys.sp_cdc_scan analizza il log ed elabora fino a (@maxtrans * @maxscans
). Attende quindi il numero di secondi specificato in @pollinginterval prima di iniziare l'analisi del log successiva.
Quando @continuous è 0
, il sp_cdc_scan
processo viene eseguito fino a @maxscans analisi del log, l'elaborazione fino a @maxtrans transazione durante ogni analisi e quindi viene chiusa.
@continuous è valido solo per i processi di acquisizione.
Numero di secondi tra cicli di analisi del log. @pollinginterval è bigint con il valore predefinito 5
.
@pollinginterval è valido solo per i processi di acquisizione quando @continuous è impostato su 1
. Se specificato, il valore deve essere maggiore o uguale a 0
e minore di 24 ore (fino a 86399 secondi). Se si specifica un valore pari 0
a , non c'è attesa tra le analisi del log.
Numero di minuti per i quali le righe dei dati delle modifiche devono essere conservate nelle tabelle delle modifiche. @retention è bigint con un valore predefinito di 4320
(72 ore). Il valore massimo è 52494800
(100 anni). Se specificato, il valore deve essere un numero intero positivo.
@retention è valido solo per i processi di pulizia.
Numero massimo di voci che possono essere eliminate utilizzando un'unica istruzione nel processo di pulizia. @threshold è bigint con il valore predefinito 5000
.
0
(esito positivo) o 1
(errore).
Nessuno.
Un processo di pulizia viene creato utilizzando i valori predefiniti quando la prima tabella nel database è abilitata per Change Data Capture. Un processo di acquisizione viene creato utilizzando i valori predefiniti quando la prima tabella nel database è abilitata per Change Data Capture e per il database non esistono pubblicazioni transazionali. Quando esiste una pubblicazione transazionale, il lettore di log transazionale viene usato per guidare il meccanismo di acquisizione e un processo di acquisizione separato non è obbligatorio o consentito.
Poiché i processi di pulizia e di acquisizione vengono creati per impostazione predefinita, questa stored procedure è necessaria solo quando un processo è stato eliminato in modo esplicito e deve essere ricreato.
Il nome del processo è cdc.<database_name>_cleanup
o cdc.<database_name>_capture
, dove <database_name>
è il nome del database corrente. Se esiste già un processo con lo stesso nome, il nome viene aggiunto con un punto (.
) seguito da un identificatore univoco, ad esempio : cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52
.
Per visualizzare la configurazione corrente di un processo di pulizia o acquisizione, usare sys.sp_cdc_help_jobs. Per modificare la configurazione di un processo, usare sys.sp_cdc_change_job.
Richiede l'adesione al ruolo predefinito del database db_owner.
Nell'esempio seguente viene creato un processo di acquisizione. Questo esempio presuppone che il processo di pulizia esistente sia stato eliminato in modo esplicito e debba essere ricreato. Il processo viene creato utilizzando i valori predefiniti.
USE AdventureWorks2022;
GO
EXEC sys.sp_cdc_add_job @job_type = N'capture';
GO
Nell'esempio seguente viene creato un processo di pulizia nel database AdventureWorks2022. Il parametro @start_job è impostato su 0
e @retention è impostato su 5760 minuti (96 ore). Questo esempio presuppone che il processo di pulizia esistente sia stato eliminato in modo esplicito e debba essere ricreato.
USE AdventureWorks2022;
GO
EXEC sys.sp_cdc_add_job
@job_type = N'cleanup',
@start_job = 0,
@retention = 5760;
Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di SQL, Infrastruttura e Power BI. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stesso