Condividi tramite


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 , NULLche 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 , NULLche 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 , NULLche 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, il sp_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 a 0, @pollinginterval viene impostato automaticamente su 0. Valore specificato per @pollinginterval diverso da 0 viene ignorato.

  • Se @continuous viene omesso o impostato in modo esplicito su NULL e @pollinginterval viene impostato in modo esplicito 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. @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 , NULLche 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