sys.sp_cdc_change_job (Transact-SQL)
Si applica a: SQL Server
Modifica la configurazione di un processo di pulizia dell'acquisizione dei dati delle modifiche o di un processo di acquisizione nel database corrente. Per visualizzare la configurazione corrente di un processo, eseguire una query sulla tabella dbo.cdc_jobs oppure usare sys.sp_cdc_help_jobs.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
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'
[ ; ]
Argomenti
[ @job_type = ] N'job_type'
Tipo di processo da modificare. @job_type è nvarchar(20) con un valore predefinito .capture
Gli input validi sono capture
e cleanup
.
[ @maxtrans ] = max_trans
Numero massimo di transazioni da elaborare in ogni ciclo di analisi. @maxtrans è int, con un valore predefinito , NULL
che indica nessuna modifica per questo parametro. Se specificato, il valore deve essere un numero intero positivo.
@max_trans è valido solo per i processi di acquisizione.
[ @maxscans ] = max_scans
Numero massimo di cicli di analisi da eseguire per estrarre tutte le righe dal log. @maxscans è int, con un valore predefinito , NULL
che indica nessuna modifica per questo parametro.
@max_scan è valido solo per i processi di acquisizione.
[ @continuous ] = continuous
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 , NULL
che indica che non viene modificata per questo parametro.
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
, ilsp_cdc_scan
processo viene eseguito fino a @maxscans analisi del log, l'elaborazione fino a @maxtrans transazioni durante ogni analisi e quindi viene chiusa.Se @continuous viene modificato da
1
a0
, @pollinginterval viene impostato automaticamente su0
. Valore specificato per @pollinginterval diverso da0
viene ignorato.Se @continuous viene omesso o impostato in modo esplicito su
NULL
e @pollinginterval viene impostato in modo esplicito su un valore maggiore di0
, @continuous viene impostato automaticamente su1
.
@continuous è valido solo per i processi di acquisizione.
[ @pollinginterval ] = polling_interval
Numero di secondi tra cicli di analisi del log. @pollinginterval è bigint, con un valore predefinito NULL
, che indica nessuna modifica per questo parametro.
@pollinginterval è valido solo per i processi di acquisizione quando @continuous è impostato su 1
.
[ @retention ] = conservazione
Numero di minuti in base al quale le righe delle modifiche devono essere conservate nelle tabelle delle modifiche. @retention è bigint, con un valore predefinito NULL
, che indica nessuna modifica per questo parametro. Il valore massimo è 52494800
(100 anni). Se specificato, il valore deve essere un numero intero positivo.
@retention è valido solo per i processi di pulizia.
[ @threshold = ] 'delete threshold'
Numero massimo di voci che possono essere eliminate utilizzando un'unica istruzione nel processo di pulizia. @threshold è bigint, con un valore predefinito , NULL
che indica nessuna modifica per questo parametro. @threshold è valido solo per i processi di pulizia.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Set di risultati
Nessuno.
Osservazioni:
Se un parametro viene omesso, il valore associato nella tabella dbo.cdc_jobs non viene aggiornato. Un set di parametri su viene considerato in modo esplicito NULL
come se il parametro venga omesso.
Se si specifica un parametro non valido per il tipo di processo, l'istruzione non riesce.
Le modifiche apportate a un processo non diventano effettive finché il processo non viene arrestato usando sys.sp_cdc_stop_job e riavviato tramite sys.sp_cdc_start_job.
Autorizzazioni
Richiede l'adesione al ruolo predefinito del database db_owner.
Esempi
R. Modificare un processo di acquisizione
Nell'esempio seguente vengono aggiornati i parametri @job_type, @maxscans e @maxtrans di un processo di acquisizione nel AdventureWorks2022
database. Gli altri parametri validi per un processo di acquisizione, @continuous e @pollinginterval, vengono omessi; i relativi valori non vengono modificati.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
B. Modificare un processo di pulizia
Nell'esempio seguente viene aggiornato un processo di pulizia nel database AdventureWorks2022
. Vengono specificati tutti i parametri validi per questo tipo di processo, ad eccezione di @threshold. Il valore di @threshold non viene modificato.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO