sys.sp_cdc_change_job (Transact-SQL)
Se aplica a: SQL Server
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 use sys.sp_cdc_help_jobs.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sys.sp_cdc_change_job [ [ @job_type = ] N'job_type' ]
[ , [ @maxtrans = ] max_trans ]
[ , [ @maxscans = ] max_scans ]
[ , [ @continuous = ] continuous ]
[ , [ @pollinginterval = ] polling_interval ]
[ , [ @retention ] = retention ]
[ @threshold = ] 'delete threshold'
[ ; ]
Argumentos
[ @job_type = ] N'job_type'
Tipo de trabajo para modificar. @job_type es nvarchar(20) con un valor predeterminado de 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. @maxtrans es int, con un valor predeterminado de NULL
, que indica 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. @maxscans es int, con un valor predeterminado de NULL
, que indica 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 va a ejecutar continuamente (1
) o ejecutarse solo una vez (0
). @continuous es bit, con un valor predeterminado de NULL
, que indica ningún cambio para este parámetro.
Cuando @continuous es
1
, el trabajo de sys.sp_cdc_scan examina el registro y procesa hasta (@maxtrans * @maxscans
) transacciones. A continuación, espera el número de segundos especificados en @pollinginterval antes de comenzar el siguiente examen de registro.Cuando @continuous es
0
, elsp_cdc_scan
trabajo se ejecuta hasta @maxscans exámenes del registro, procesando hasta @maxtrans transacciones durante cada examen y, a continuación, se cierra.Si @continuous cambia de
1
a0
, @pollinginterval se establece0
automáticamente en . Se omite un valor especificado para @pollinginterval distinto0
de .Si @continuous se omite o se establece
NULL
explícitamente en y @pollinginterval se establece explícitamente en un valor mayor que0
, @continuous se establece1
automáticamente en .
@continuous solo es válido para los trabajos de captura.
[ @pollinginterval ] = polling_interval
Número de segundos entre los ciclos de recorrido del registro. @pollinginterval es bigint, con un valor predeterminado de NULL
, que indica ningún cambio para este parámetro.
@pollinginterval solo es válido para los trabajos de captura cuando @continuous está establecido 1
en .
[ @retention ] = retención
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 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 trabajos de limpieza.
[ @threshold = ] 'eliminar umbral'
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. @threshold es bigint, con un valor predeterminado de NULL
, que indica ningún cambio para este parámetro. @threshold solo es válido para trabajos de limpieza.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Conjunto de resultados
Ninguno.
Comentarios
Si se omite un parámetro, el valor asociado de la tabla dbo.cdc_jobs no se actualiza. Un parámetro establecido explícitamente NULL
en se trata como si se omite el parámetro.
Especificar un parámetro que no es válido para el tipo de trabajo hace que se produzca un error en la instrucción.
Los cambios en un trabajo no surten efecto hasta que el trabajo se detenga mediante sys.sp_cdc_stop_job y se reinicie mediante sys.sp_cdc_start_job.
Permisos
Requiere pertenencia al rol fijo de base de datos db_owner.
Ejemplos
A Cambio de un trabajo de captura
En el ejemplo siguiente se actualizan los parámetros @job_type, @maxscans y @maxtrans de un trabajo de captura en la AdventureWorks2022
base de datos. Los demás parámetros válidos para un trabajo de captura, @continuous y @pollinginterval, se omiten; sus valores no se modifican.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'capture',
@maxscans = 1000,
@maxtrans = 15;
GO
B. Cambio de un trabajo de limpieza
En el siguiente ejemplo se actualiza un trabajo de limpieza en la base de datos AdventureWorks2022
. Se especifican todos los parámetros válidos para este tipo de trabajo, excepto @threshold. El valor de @threshold no se modifica.
USE AdventureWorks2022;
GO
EXECUTE sys.sp_cdc_change_job
@job_type = N'cleanup',
@retention = 2880;
GO