sys.sp_cdc_change_job (Transact-SQL)
Modifica a configuração de um trabalho de captura ou limpeza do Change Data Capture no banco de dados atual. Para exibir a configuração atual de um trabalho, consulte a tabela dbo.cdc_jobs ou use sp_cdc_help_jobs.
Sintaxe
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'
Argumentos
[ @job_type= ] 'job_type'
Tipo de tarefa a modificar. job_type é nvarchar(20) com um padrão de 'capture'. As entradas válidas são 'capture' e 'cleanup'.[ @maxtrans ] **=**max_trans
O número máximo de transações a serem processadas em cada ciclo de exame. max_trans é int com um padrão de NULL que indica nenhuma alteração para esse parâmetro. Se especificado, o valor deve ser um inteiro positivo.max_trans é válido somente para trabalhos de captura.
[ @maxscans ] **=**max_scans
Número máximo de ciclos de exame a serem executados para extrair todas as linhas do log. max_scans é int com um padrão de NULL que indica nenhuma alteração para este parâmetro.max_scan é válido somente para trabalhos de captura.
[ @continuous ] **=**continuous
Indica se o trabalho de captura deve ser executado continuamente (1) ou apenas uma vez (0). continuousé bit com um padrão de NULL que indica nenhuma alteração para este parâmetro.Quando continuous = 1, o trabalho sp_cdc_scan examina o log e processa até (max_trans * max_scans) transações. Em seguida, aguarda o número de segundos especificado em polling_interval antes de começar a próxima verificação de log.
Quando continuous = 0, o trabalho sp_cdc_scan executa até max_scans verificações do log, processando até max_trans transações durante cada verificação e, em seguida, sai.
Se @continuous for alterado de 1 para 0, @pollinginterval será automaticamente definido como 0. Um valor especificado para @pollinginterval diferente de 0 é ignorado.
Se @continuous for omitido ou explicitamente definido como NULL e @pollinginterval for definido explicitamente como um valor maior que 0, @continuous será definido automaticamente como 1.
continuous é válido somente para trabalhos de captura.
[ @pollinginterval ] **=**polling_interval
Número de segundos entre ciclos de exame de log. polling_interval é bigint com um padrão de NULL que indica nenhuma alteração para esse parâmetro.polling_interval é válido somente para trabalhos de captura quando continuous está definido como 1.
[ @retention ] **=**retention
O número de minutos que as linhas de alteração precisam ser retidas nas tabelas de alteração. retention é bigint com um padrão de NULL que não indica nenhuma alteração para este parâmetro. O valor máximo é 52494800 (100 anos). Se especificado, o valor deve ser um inteiro positivo.retention é válido somente para trabalhos de limpeza.
[ @threshold= ] 'delete threshold'
Número máximo de entradas de exclusão que podem ser excluídas com o uso de uma única instrução durante a limpeza. delete threshold é bigint, com um padrão de NULL que não indica nenhuma alteração para este parâmetro. delete threshold é válido somente para trabalhos de limpeza.
Valores de código de retorno
0 (êxito) ou 1 (falha)
Conjuntos de resultados
Nenhum
Comentários
Se um parâmetro for omitido, o valor associado na tabela dbo.cdc_jobs não será atualizado. Um conjunto de parâmetros definido explicitamente como NULL é tratado como se o parâmetro tivesse sido omitido.
Especificar um parâmetro que é inválido para o tipo de trabalho fará a instrução falhar.
As alterações em um trabalho não entram em vigor até que este seja interrompido por meio de sp_cdc_stop_job e reiniciado por meio de sp_cdc_start_job.
Permissões
Requer associação na função de banco de dados fixa db_owner.
Exemplos
A. Alterando um trabalho de captura
O exemplo a seguir atualiza os parâmetros @job_type, @maxscans e @maxtrans de um trabalho de captura no banco de dados AdventureWorks2008R2. Os outros parâmetros válidos para um trabalho de captura, @continuous e @pollinginterval, são omitidos; seus valores não são modificados.
USE AdventureWorks2008R2;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
B. Alterando um trabalho de limpeza
O exemplo a seguir atualiza um trabalho de limpeza no banco de dados AdventureWorks2008R2. Todos os parâmetros válidos para esse tipo de trabalho, exceto @threshold, são especificados. O valor de @threshold não é modificado.
USE AdventureWorks2008R2;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO
Consulte também