sys.sp_cdc_add_job (Transact-SQL)

Crea una limpieza de captura datos de cambios o un trabajo de captura en la base de datos actual.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

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 trabajo que se agrega. job_type es nvarchar(20) y no puede ser NULL. Las entradas válidas son 'capture' y 'cleanup'.

  • [ @start_job= ] start_job
    Marca que indica si se debería iniciar el trabajo inmediatamente una vez agregado. start_job es bit con un valor predeterminado de 1.

  • [ @maxtrans ] = max_trans
    El número máximo de transacciones que se procesarán en cada ciclo de recorrido. max_trans es de tipo int con un valor predeterminado de 500. 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
    El 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 con un valor predeterminado de 10.

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

  • [ @continuous ] **=**continuous
    Indica si el trabajo de captura se ejecutará continuamente (1), o sólo una vez (0). continuous es de tipo bit con un valor predeterminado de 1.

    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.

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

  • [ @pollinginterval ] **=**polling_interval
    El número de segundos entre cada ciclo de examen del registro. polling_interval es de tipo bigint con un valor predeterminado de 5.

    polling_interval sólo es válido para los trabajos de captura cuando continuous está establecido en 1. Si se especifica, el valor no puede ser negativo y no puede superar 24 horas. Si se especifica el valor 0, no hay ninguna espera entre los exámenes del registro.

  • [ @retention ] **=**retention
    Número de minutos que las filas de datos de cambio se retendrán en tablas de cambio. retention es bigint con un valor predeterminado de 4320 (72 horas). 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 de eliminación que se pueden eliminar mediante el uso de una única instrucción en la limpieza. delete_threshold es de tipo bigint y su valor predeterminado es 5000.

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

Ninguno

Comentarios

Un trabajo de limpieza se crea utilizando los valores predeterminados cuando la primera tabla de la base de datos se habilita para la captura de datos de cambio. Un trabajo de cambio se crea usando los valores predeterminados cuando la primera tabla de la base de datos se habilita para la captura de datos de cambio y no existe ninguna publicación transaccional para la base de datos. Si existe una publicación transaccional, se usará el lector del registro transaccional para controlar el mecanismo de captura, y no se permitirá ni se necesitará realizar otro trabajo de captura.

Dado que los trabajos de captura y limpieza se crean de forma predeterminada, este procedimiento almacenado sólo es necesario cuando un trabajo se ha eliminado y se ha vuelto a crear explícitamente.

El nombre del trabajo es cdc.<nombre_base_datos>_cleanup o cdc.<nombre_base_datos>_capture, donde <nombre_base_datos> es el nombre de la base de datos actual. Si ya existe un trabajo con el mismo nombre, se agrega un punto al nombre (.) se sigue por un identificador único, por ejemplo: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.

Para ver la configuración actual de un trabajo de limpieza o de captura, use sp_cdc_help_jobs. Para cambiar la configuración de un trabajo, utilice sp_cdc_change_job.

Permisos

Debe pertenecer al rol fijo de base de datos db_owner.

Ejemplos

A. Crear un trabajo de captura

En este ejemplo se crea un trabajo de captura. Este ejemplo supone que el trabajo de limpieza existente se eliminó y se debe volver a crear explícitamente. El trabajo se crea utilizando los valores predeterminados.

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

B. Crear un trabajo de limpieza

En el siguiente ejemplo se crea un trabajo de limpieza en la base de datos de AdventureWorks2008R2. El parámetro @start_job está establecido en 0 y @retention está establecido en 5760 minutos (96 horas). Este ejemplo supone que el trabajo de limpieza existente se eliminó y se debe volver a crear explícitamente.

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