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 temasConvenciones 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 int con un valor predeterminado de 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 sólo es válido para los trabajos de captura.

  • [ @maxscans ] **=**max_scans
    Número máximo de ciclos de detección para ejecutar con el fin de extraer todas las filas del registro. max_scans es int con un valor predeterminado de NULL, que indica que no hay ningún cambio para este parámetro.

    max_scan sólo es válido para los trabajos de captura.

  • [ @continuous ] **=**continuous
    Indica si el trabajo de captura se debe ejecutar continuamente (1) o únicamente debe ejecutarse una vez (0). continuous es bit con un valor predeterminado de 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 sólo es válido para los trabajos de captura.

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

    polling_interval sólo 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 bigint con un valor predeterminado de 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 sólo es válido para los trabajos de limpieza.

  • [ @threshold= ] 'delete threshold'
    Número máximo de entradas que se pueden eliminar con una única instrucción de limpieza. delete threshold es bigint con un valor predeterminado de NULL, que indica que no hay ningún cambio para este parámetro. delete threshold únicamente es válido para los trabajos de limpieza.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Notas

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 a la función fija 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 AdventureWorks. El resto de parámetros válidos para un trabajo captura, @continuous y @pollinginterval, se omiten; sus valores no se modifican.

USE AdventureWorks;
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 AdventureWorks. Se especifican todos los parámetros válidos para este tipo de trabajo, excepto @threshold. El valor de @threshold no se modifica.

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