sys.sp_cdc_change_job (Transact-SQL)
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 o utilizzare sp_cdc_help_jobs.
Convenzioni della sintassi Transact-SQL
Sintassi
sys.sp_cdc_change_job [ [ @job_type = ] 'job_type' ]
[ , [ @maxtrans = ] max_trans ]
[ , [ @maxscans = ] max_scans ]
[ , [ @continuous = ] continuous ]
[ , [ @pollinginterval = ] polling_interval ]
[ , [ @retention ] = retention ]
[ @threshold = ] 'delete threshold'
Argomenti
[ @job_type= ] 'job_type'
Tipo di processo da modificare. job_type è di tipo nvarchar(20) e il valore predefinito è "capture". Gli input validi sono 'capture' e 'cleanup'.[ @maxtrans ] **=**max_trans
Numero massimo di transazioni da elaborare in ogni ciclo di analisi. max_trans è di tipo int e il 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. max_scans è di tipo int e il valore predefinito è NULL, che indica nessuna modifica per questo parametro.max_scan è valido solo per i processi di acquisizione.
[ @continuous ] **=**continuous
Viene indicato se il processo di acquisizione deve essere eseguito continuamente (1) o solo una volta (0). continuous è di tipo bit e il valore predefinito è NULL, che indica nessuna modifica per questo parametro.Quando continuous = 1, il processo sp_cdc_scan analizza il log ed elabora fino a (max_trans * max_scans) transazioni. Attende quindi il numero di secondi specificato in polling_interval prima di iniziare la successiva analisi del log.
Quando continuous = 0, il processo sp_cdc_scan esegue fino a max_scans analisi del log, elaborando fino a max_trans transazioni durante ogni analisi, quindi si arresta.
Se @continuous viene modificato da 1 a 0, @pollinginterval viene impostato automaticamente su 0. Un valore specificato per @pollinginterval diverso da 0 viene ignorato.
Se @continuous è omesso o impostato esplicitamente su NULL e @pollinginterval è impostato esplicitamente su un valore maggiore di 0, @continuous viene impostato automaticamente su 1.
continuous è valido solo per i processi di acquisizione.
[ @pollinginterval ] **=**polling_interval
Numero di secondi tra cicli di analisi del log. polling_interval è di tipo bigint e il valore predefinito è NULL, che indica nessuna modifica per questo parametro.polling_interval è valido solo per i processi di acquisizione quando continuous è impostato su 1.
[ @retention ] **=**retention
Numero di minuti in base al quale le righe delle modifiche devono essere conservate nelle tabelle delle modifiche. retention è di tipo bigint e il 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. delete threshold è di tipo bigint e il valore predefinito è NULL, che indica nessuna modifica per questo parametro. delete threshold è valido solo per i processi di pulizia.
Valori restituiti
0 (esito positivo) o 1 (esito negativo)
Set di risultati
Nessuno
Osservazioni
Se un parametro viene omesso, il valore associato nella tabella dbo.cdc_jobs non viene aggiornato. Un parametro impostato esplicitamente su NULL viene considerato come se fosse stato omesso.
Se si specifica un parametro non valido per il tipo di processo, l'istruzione avrà esito negativo.
Le modifiche a un processo non diventano effettive fino a quando il processo non viene arrestato utilizzando sp_cdc_stop_job e riavviato tramite sp_cdc_start_job.
Autorizzazioni
È richiesta l'appartenenza al ruolo predefinito del database db_owner.
Esempi
A.Modifica di un processo di acquisizione
Nell'esempio seguente vengono aggiornati i parametri @job\_type, @maxscans e @maxtrans di un processo di acquisizione nel database AdventureWorks2012. Gli altri parametri validi per un processo di acquisizione, @continuous e @pollinginterval, sono omessi e i relativi valori non vengono modificati.
USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
B.Modifica di un processo di pulizia
Nell'esempio seguente viene aggiornato un processo di pulizia nel database AdventureWorks2012. Vengono specificati tutti i parametri validi per questo tipo di processo, eccetto @threshold. Il valore di @threshold non viene modificato.
USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO