Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Cria uma tarefa de captura de dados de alteração, limpeza ou captura na base de dados atual.
Transact-SQL convenções de sintaxe
Sintaxe
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' ]
[ ; ]
Arguments
[ @job_type = ] N'job_type'
Tipo de trabalho para acrescentar.
@job_type é nvarchar (20) e não pode ser NULL. As entradas válidas são capture e cleanup.
[ @start_job = ] start_job
Sinalizador a indicar se o trabalho deve ser iniciado imediatamente após ser adicionado.
@start_job é bit com um padrão de 1.
[ @maxtrans ] = max_trans
Número máximo de transações a processar em cada ciclo de digitalização.
@maxtrans é int com um padrão de 500. Se especificado, o valor deve ser um inteiro positivo.
@maxtrans é válido apenas para trabalhos de captura.
[ @maxscans ] = max_scans
Número máximo de ciclos de varrimento a executar para extrair todas as linhas do log.
@maxscans é int com um padrão de 10.
@max_scan é válido apenas para trabalhos de captura.
[ @continuous ] = contínuo
Indica se o trabalho de captura deve ser executado continuamente (1), ou executado apenas uma vez (0).
@continuous é bit com um padrão de 1.
Quando @continuous é
1, o trabalho de sys.sp_cdc_scan analisa o log e processa até (@maxtrans * @maxscans) transações. Depois, espera o número de segundos especificado em @pollinginterval antes de iniciar a próxima varredura de log.Quando @continuous é
0, osp_cdc_scantrabalho executa até @maxscans scans do log, processando até @maxtrans transação durante cada scan, e depois sai.
@continuous é válido apenas para trabalhos de captura.
[ @pollinginterval ] = polling_interval
Número de segundos entre os ciclos de varredura logarítmica.
@pollinginterval é bigint com um padrão de 5.
@pollinginterval é válido apenas para tarefas de captura quando @continuous está definido como 1. Se especificado, o valor deve ser maior ou igual e 0 inferior a 24 horas (até 86399 segundos). Se for especificado um valor de 0 , não há espera entre as varreduras de registo.
[ @retention ] = retenção
O número de minutos que alteram as linhas de dados deve ser mantido nas tabelas de alteração.
@retention é bigint com um padrão de 4320 (72 horas). O valor máximo é 52494800 (100 anos). Se especificado, o valor deve ser um inteiro positivo.
@retention é válido apenas para trabalhos de limpeza.
[ @threshold = ] 'delete_threshold'
Número máximo de entradas eliminadas que podem ser eliminadas usando uma única instrução na limpeza.
@threshold é bigint com um padrão de 5000.
Valores de código de retorno
0 (sucesso) ou 1 (fracasso).
Conjunto de resultados
Nenhum.
Observações
Um trabalho de limpeza é criado usando os valores predefinidos quando a primeira tabela na base de dados está ativada para captura de dados de alteração. Um trabalho de captura é criado usando os valores predefinidos quando a primeira tabela na base de dados está ativada para captura de dados de alterações e não existem publicações transacionais para a base de dados. Quando existe uma publicação transacional, o leitor de registo transacional é usado para controlar o mecanismo de captura, e um trabalho de captura separado não é exigido nem permitido.
Como os trabalhos de limpeza e captura são criados por defeito, este procedimento armazenado é necessário apenas quando um trabalho foi explicitamente abandonado e tem de ser recriado.
O nome do trabalho é cdc.<database_name>_cleanup ou cdc.<database_name>_capture, onde <database_name> é o nome da base de dados atual. Se já existir um trabalho com o mesmo nome, o nome é acrescentado a um ponto (.) seguido de um identificador único, por exemplo: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.
Para visualizar a configuração atual de um trabalho de limpeza ou captura, use sys.sp_cdc_help_jobs. Para alterar a configuração de um trabalho, use sys.sp_cdc_change_job.
Permissions
Requer associação à função fixa de base de dados db_owner.
Examples
A. Criar um trabalho de captura
O exemplo seguinte cria um trabalho de captura. Este exemplo assume que o trabalho de limpeza existente foi explicitamente abandonado e deve ser recriado. O trabalho é criado usando os valores padrão.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_add_job @job_type = N'capture';
GO
B. Crie um trabalho de limpeza
O exemplo seguinte cria um trabalho de limpeza na base de dados AdventureWorks2025. O parâmetro @start_job é definido para 0 e @retention é definido para 5760 minutos (96 horas). Este exemplo assume que o trabalho de limpeza existente foi explicitamente abandonado e deve ser recriado.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_add_job
@job_type = N'cleanup',
@start_job = 0,
@retention = 5760;