sys.sp_cdc_add_job (Transact-SQL)

Aplica-se a: SQL Server (todas as versões com suporte)

Cria uma limpeza de captura de dados de alteração ou trabalho de captura no banco de dados atual.

Topic link iconConvenções de sintaxe do Transact-SQL

Sintaxe

  
sys.sp_cdc_add_job [ @job_type = ] 'job_type'  
    [ , [ @start_job = ] start_job ]   
    [ , [ @maxtrans = ] max_trans ]   
    [ , [ @maxscans = ] max_scans ]   
    [ , [ @continuous = ] continuous ]   
    [ , [ @pollinginterval = ] polling_interval ]   
    [ , [ @retention ] = retention ]   
    [ , [ @threshold ] = 'delete_threshold' ]  

Argumentos

[ @job_type = ] 'job\_type' Tipo de trabalho a ser adicionado. job_type é nvarchar(20) e não pode ser NULL. As entradas válidas são "capturar" e "limpar".

[ @start_job = ] start_job Sinalizador indicando se o trabalho deve ser iniciado imediatamente após a adição. start_job é bit com um padrão de 1.

[ @maxtrans ] = max_trans Número máximo de transações a serem processadas em cada ciclo de verificação. max_trans é int com um padrão de 500. 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 verificação a serem executados para extrair todas as linhas do log. max_scans é int com um padrão de 10.

max_scan é válido somente para trabalhos de captura.

[ @continuous ] = continuous_ Indica se o trabalho de captura deve ser executado continuamente (1) ou executado apenas uma vez (0). contínuo é bit com um padrão de 1.

Quando contínuo = 1, o trabalho sp_cdc_scan verifica o log e processa até transações (max_trans * max_scans). Em seguida, ele aguarda o número de segundos especificado em polling_interval antes de iniciar a próxima verificação de log.

Quando contínuo = 0, o trabalho sp_cdc_scan é executado até max_scans verificações do log, processando até max_trans transação durante cada verificação e, em seguida, sai.

contínuo é válido apenas para trabalhos de captura.

[ @pollinginterval ] = polling\_interval_ Número de segundos entre ciclos de verificação de log. polling_interval é bigint com um padrão de 5.

polling_interval é válido somente para trabalhos de captura quando contínuo é definido como 1. Se especificado, o valor deve ser maior ou igual a 0 e menor que 24 horas (máximo: 86399 segundos). Se um valor 0 estiver especificado, não haverá espera entre os exames de log.

[ @retention ] = retention_ O número de minutos que alteram as linhas de dados deve ser mantido nas tabelas de alterações. retenção é 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.

a retenção é válida apenas para trabalhos de limpeza.

[ @threshold = ] 'delete\_threshold' Número máximo de entradas de exclusão que podem ser excluídas usando uma única instrução na limpeza. delete_threshold é bigint com um padrão de 5000.

Valores do código de retorno

0 (êxito) ou 1 (falha)

Conjuntos de resultados

Nenhum

Comentários

Um trabalho de limpeza é criado usando os valores padrão quando a primeira tabela no banco de dados é habilitada para captura de dados de alteração. Um trabalho de captura é criado usando os valores padrão quando a primeira tabela no banco de dados é habilitada para captura de dados de alteração e não há publicações transacionais no banco de dados. Quando existir uma publicação transacional, o leitor do log transacional será usado para orientar o mecanismo de captura e um trabalho de captura separado não será nem necessário, nem permitido.

Como os trabalhos de limpeza e captura são criados por padrão, este procedimento armazenado será necessário somente quando um trabalho tiver sido explicitamente encerrado e tiver de ser recriado.

O nome do trabalho é CDC.<>database_name_cleanup ou cdc.<>database_name_capture, em <que database_name> é o nome do banco de dados atual. Se já existir um trabalho com o mesmo nome, o nome será acrescentado com um período (.) seguido de um identificador exclusivo, por exemplo: cdc.AdventureWorks_capture. A1ACBDED-13FC-428C-8302-10100EF74F52.

Para exibir a configuração atual de um trabalho de limpeza ou captura, use sp_cdc_help_jobs. Para alterar a configuração de um trabalho, use sp_cdc_change_job.

Permissões

Requer associação na função de banco de dados fixa db_owner.

Exemplos

a. Criando um trabalho de captura

O seguinte exemplo cria um trabalho de captura. Este exemplo parte do pressuposto de que o trabalho de limpeza existente foi explicitamente encerrado e deve ser recriado. O trabalho é criado usando os valores padrão.

USE AdventureWorks2012;  
GO  
EXEC sys.sp_cdc_add_job @job_type = N'capture';  
GO  

B. Criando um trabalho de limpeza

O exemplo a seguir cria um trabalho de limpeza no banco de dados AdventureWorks2019. O parâmetro @start_job é definido em 0 e @retention é definido em 5760 minutos (96 horas). Este exemplo parte do pressuposto de que o trabalho de limpeza existente foi explicitamente encerrado e deve ser recriado.

USE AdventureWorks2012;  
GO  
EXEC sys.sp_cdc_add_job  
     @job_type = N'cleanup'  
    ,@start_job = 0  
    ,@retention = 5760;  

Consulte Também

dbo.cdc_jobs (Transact-SQL)
sys.sp_cdc_enable_table (Transact-SQL)
Sobre o change data capture (SQL Server)