Compartir a través de


sys.sp_cdc_change_job (Transact-SQL)

Modifica la configuración de un trabajo de captura o de limpieza de captura de datos de cambio en la base de datos actual. Para ver la configuración actual de un trabajo, consulte la tabla dbo.cdc_jobs o utilice sp_cdc_help_jobs.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

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 trabajo para modificar. job_type es de tipo nvarchar(20) y su valor predeterminado es 'capture'. Las entradas válidas son 'capture' y 'cleanup'.

  • [ @maxtrans ] **=**max_trans
    Número máximo de transacciones para procesar en cada ciclo de recorrido. max_trans es de tipo int y su valor predeterminado es NULL, que indica que no hay ningún cambio para este parámetro. Si se especifica, el valor debe ser un entero positivo.

    max_trans solo es válido para los trabajos de captura.

  • [ @maxscans ] **=**max_scans
    Número máximo de ciclos de recorrido que se ejecutarán para extraer todas las filas del registro. max_scans es de tipo int y su valor predeterminado es NULL, que indica que no hay ningún cambio para este parámetro.

    max_scan solo es válido para los trabajos de captura.

  • [ @continuous ] **=**continuous
    Indica si el trabajo de captura se ejecutará continuamente (1), o solo una vez (0). continuous es de tipo bit y su valor predeterminado es NULL, que indica que no hay ningún cambio para este parámetro.

    Cuando continuous = 1, el trabajo sp_cdc_scan examina el registro y procesa hasta (max_trans * max_scans) transacciones. A continuación, espera el número de segundos especificado en polling_interval antes de comenzar el recorrido del registro siguiente.

    Cuando continuous = 0, el trabajo sp_cdc_scan ejecuta max_scans recorridos del registro, procesando hasta max_trans transacciones durante cada recorrido y, a continuación, sale.

    Si @continuous se cambia de 1 a 0, @pollinginterval se establece automáticamente en 0. Se omite cualquier valor especificado para @pollinginterval que no sea 0.

    Si @continuous se omite o explícitamente se establece en NULL y @pollinginterval se establece explícitamente en un valor mayor que 0, @continuous se establece automáticamente en 1.

    continuous solo es válido para los trabajos de captura.

  • [ @pollinginterval ] **=**polling_interval
    Número de segundos entre los ciclos de recorrido del registro. polling_interval es de tipo bigint y su valor predeterminado es NULL, que indica que no hay ningún cambio para este parámetro.

    polling_interval solo es válido para los trabajos de captura cuando continuous está establecido en 1.

  • [ @retention ] **=**retention
    Número de minutos durante los que las filas de cambio deben retenerse en las tablas de cambio. retention es de tipo bigint y su valor predeterminado es NULL, que indica que no hay ningún cambio para este parámetro. El valor máximo es 52494800 (100 años). Si se especifica, el valor debe ser un entero positivo.

    retention solo es válido para los trabajos de limpieza.

  • [ @threshold= ] 'delete threshold'
    Número máximo de entradas de eliminación que se pueden eliminar mediante el uso de una única instrucción en el proceso de limpieza. delete threshold es de tipo bigint y su valor predeterminado es NULL, que indica que no hay ningún cambio para este parámetro. delete threshold solo es válido para los trabajos de limpieza.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Comentarios

Si se omite un parámetro, el valor asociado en la tabla dbo.cdc_jobs no se actualiza. Un parámetro establecido explícitamente en NULL se trata como si se omitiese el parámetro.

Si se especifica un parámetro que no es válido para el tipo de trabajo, la instrucción generará un error.

Los cambios realizados en un trabajo no tendrán efecto hasta que el trabajo se detenga con sp_cdc_stop_job y se reinicie con sp_cdc_start_job.

Permisos

Debe pertenecer al rol fijo de base de datos db_owner.

Ejemplos

A.Cambiar un trabajo de captura

El ejemplo siguiente actualiza los parámetros @job\_type, @maxscansy @maxtrans de un trabajo de captura en la base de datos AdventureWorks2012. El resto de parámetros válidos para un trabajo captura, @continuous y @pollinginterval, se omiten; sus valores no se modifican.

USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job 
    @job_type = N'capture',
    @maxscans = 1000,
    @maxtrans = 15;
GO

B.Cambiar un trabajo de limpieza

En el siguiente ejemplo se actualiza un trabajo de limpieza en la base de datos AdventureWorks2012. Se especifican todos los parámetros válidos para este tipo de trabajo, excepto @threshold. El valor de @threshold no se modifica.

USE AdventureWorks2012;
GO
EXECUTE sys.sp_cdc_change_job 
    @job_type = N'cleanup',
    @retention = 2880;
GO

Vea también

Referencia

dbo.cdc_jobs (Transact-SQL)

sys.sp_cdc_enable_table (Transact-SQL)

sys.sp_cdc_add_job (Transact-SQL)