Compartir a través de


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 temas Convenciones 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 de tipo 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 de tipo bit y su valor predeterminado es 1.

  • [ @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 500. 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 10.

    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 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 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 5.

    polling_interval solo 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 de tipo bigint y su valor predeterminado 4320 (72 horas). 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 correspondientes a operaciones de eliminación que se pueden eliminar mediante una única instrucción durante el proceso de 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 solo es necesario cuando un trabajo se ha eliminado y se ha vuelto a crear explícitamente.

El nombre del trabajo es cdc.<database_name>_cleanup o cdc.<database_name>_capture, donde <database_name> es el nombre de la base de datos actual. Si ya existe un trabajo con el mismo nombre, al nombre se le anexa un punto (.) seguido de 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 AdventureWorks2012;
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 AdventureWorks2012. 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 AdventureWorks2012;
GO
EXEC sys.sp_cdc_add_job
     @job_type = N'cleanup'
    ,@start_job = 0
    ,@retention = 5760;

Vea también

Referencia

dbo.cdc_jobs (Transact-SQL)

sys.sp_cdc_enable_table (Transact-SQL)

Conceptos

Acerca de la captura de datos modificados (SQL Server)