sys.sp_cdc_add_job (Transact-SQL)sys.sp_cdc_add_job (Transact-SQL)

S’APPLIQUE À : ouiSQL Server nonAzure SQL Database nonAzure Synapse Analytics (SQL DW) nonParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Crée un travail de nettoyage ou de capture de données modifiées dans la base de données active.Creates a change data capture cleanup or capture job in the current database.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

  
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' ]  

ArgumentsArguments

[ @job_type = ] 'job\_type' Type de travail à ajouter.[ @job_type = ] 'job\_type' Type of job to add. type_du_travail est nvarchar (20) et ne peut pas être NULL.job_type is nvarchar(20) and cannot be NULL. Les entrées valides sont 'capture' et 'cleanup' .Valid inputs are 'capture' and 'cleanup'.

[ @start_job = ] start_job Indicateur qui spécifie si le travail doit être démarré immédiatement après son ajout.[ @start_job = ] start_job Flag indicating whether the job should be started immediately after it is added. START_JOB est bits avec 1 comme valeur par défaut.start_job is bit with a default of 1.

[ @maxtrans ] = max_trans Nombre maximal de transactions à traiter dans chaque cycle d’analyse.[ @maxtrans ] = max_trans Maximum number of transactions to process in each scan cycle. max_trans est int avec la valeur par défaut est 500.max_trans is int with a default of 500. Si elle est spécifiée, la valeur doit être un entier positif.If specified, the value must be a positive integer.

max_trans est valide uniquement pour les travaux de capture.max_trans is valid only for capture jobs.

[ @maxscans ] = max\_scans_ Nombre maximal de cycles d’analyse à exécuter afin d’extraire toutes les lignes du journal.[ @maxscans ] = max\_scans_ Maximum number of scan cycles to execute in order to extract all rows from the log. max_scans est int avec une valeur par défaut de 10.max_scans is int with a default of 10.

max_scan est valide uniquement pour les travaux de capture.max_scan is valid only for capture jobs.

[ @continuous ] = continuous_ Indique si le travail de capture doit être exécuté en continu (1), ou une seule fois (0).[ @continuous ] = continuous_ Indicates whether the capture job is to run continuously (1), or run only once (0). continue est bits avec 1 comme valeur par défaut.continuous is bit with a default of 1.

Lorsque continue = 1, le sp_cdc_scan tâche analyse le journal et traite jusqu'à (max_trans * max_scans) transactions.When continuous = 1, the sp_cdc_scan job scans the log and processes up to (max_trans * max_scans) transactions. Il attend alors pendant le nombre de secondes spécifié dans polling_interval avant de commencer l’analyse du journal suivante.It then waits the number of seconds specified in polling_interval before beginning the next log scan.

Lorsque continue = 0, le sp_cdc_scan travail s’exécute jusqu'à max_scans analyses du journal, traitant un maximum de max_trans transaction pendant chaque analyse et puis se ferme.When continuous = 0, the sp_cdc_scan job executes up to max_scans scans of the log, processing up to max_trans transaction during each scan, and then exits.

continue est valide uniquement pour les travaux de capture.continuous is valid only for capture jobs.

[ @pollinginterval ] = polling\_interval_ Nombre de secondes entre les cycles d’analyse de journal.[ @pollinginterval ] = polling\_interval_ Number of seconds between log scan cycles. polling_interval est bigint avec une valeur par défaut 5.polling_interval is bigint with a default of 5.

polling_interval est valide uniquement pour la capture des travaux lorsque continue est défini sur 1.polling_interval is valid only for capture jobs when continuous is set to 1. Si elle est spécifiée, la valeur ne peut pas être négative et ne peut pas dépasser 24 heures.If specified, the value cannot be negative and cannot exceed 24 hours. Si une valeur de 0 est spécifiée, il n'y a aucune attente entre les analyses de journal.If a value of 0 is specified, there is no wait between log scans.

[ @retention ] = retention_ Nombre de minutes qui modifient les données des lignes doivent être conservées dans les tables de modifications.[ @retention ] = retention_ Number of minutes that change data rows are to be retained in change tables. rétention est bigint avec 4320 (72 heures) par défaut.retention is bigint with a default of 4320 (72 hours). La valeur maximale est égale à 52494800 (100 ans).The maximum value is 52494800 (100 years). Si elle est spécifiée, la valeur doit être un entier positif.If specified, the value must be a positive integer.

rétention est valide uniquement pour les travaux de nettoyage.retention is valid only for cleanup jobs.

[ @threshold = ] 'delete\_threshold' Nombre maximal d’entrées qui peuvent être supprimées à l’aide d’une instruction unique lors du nettoyage.[ @threshold = ] 'delete\_threshold' Maximum number of delete entries that can be deleted by using a single statement on cleanup. delete_threshold est bigint avec la valeur par défaut est 5000.delete_threshold is bigint with a default of 5000.

Valeurs des codes de retourReturn Code Values

0 (réussite) ou 1 (échec)0 (success) or 1 (failure)

Jeux de résultatsResult Sets

AucunNone

NotesRemarks

Un travail de nettoyage est créé en utilisant les valeurs par défaut lorsque la première table dans la base de données est activée pour la capture des données modifiées.A cleanup job is created using the default values when the first table in the database is enabled for change data capture. Un travail de capture est créé en utilisant les valeurs par défaut lorsque la première table dans la base de données est activée pour la capture des données modifiées et qu'aucune publication transactionnelle n'existe pour la base de données.A capture job is created using the default values when the first table in the database is enabled for change data capture and no transactional publications exist for the database. Lorsqu'une publication transactionnelle existe, le lecteur de journal transactionnel est utilisé pour conduire le mécanisme de capture et un travail de capture séparé n'est ni requis ni autorisé.When a transactional publication exists, the transactional log reader is used to drive the capture mechanism, and a separate capture job is neither required nor allowed.

Dans la mesure où les travaux de capture et de nettoyage sont créés par défaut, cette procédure stockée est nécessaire uniquement lorsqu'un travail a été supprimé explicitement et doit être recréé.Because the cleanup and capture jobs are created by default, this stored procedure is necessary only when a job has been explicitly dropped and must be recreated.

Le nom de la tâche est cdc. <base de données_nom> _nettoyage ou cdc. <base de données_nom> _capturer, où < nom_base_de_données > est le nom de la base de données actuelle.The name of the job is cdc.<database_name>_cleanup or cdc.<database_name>_capture, where <database_name> is the name of the current database. Si un travail portant le même nom existe déjà, le nom est ajouté avec une période ( . ) suivi d’un identificateur unique, par exemple : capture de données modifiées. AdventureWorks_capture. A1ACBDED-13FC-428C-8302-10100EF74F52.If a job with the same name already exists, the name is appended with a period (.) followed by a unique identifier, for example: cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.

Pour afficher la configuration actuelle d’un travail de nettoyage ou de capture, utilisez sp_cdc_help_jobs.To view the current configuration of a cleanup or capture job, use sp_cdc_help_jobs. Pour modifier la configuration d’un travail, utilisez sp_cdc_change_job.To change the configuration of a job, use sp_cdc_change_job.

AutorisationsPermissions

Nécessite l’appartenance dans le db_owner rôle de base de données fixe.Requires membership in the db_owner fixed database role.

ExemplesExamples

R.A. Création d'un travail de captureCreating a capture job

L'exemple suivant crée un travail de capture.The following example creates a capture job. Cet exemple suppose que le travail de nettoyage existant a été supprimé explicitement et doit être recréé.This example assumes that the existing cleanup job was explicitly dropped and must be recreated. Le travail est créé en utilisant les valeurs par défaut.The job is created using the default values.

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

B.B. Création d'un travail de nettoyageCreating a cleanup job

L'exemple suivant crée un travail de nettoyage dans la base de données AdventureWorks2012AdventureWorks2012.The following example creates a cleanup job in the AdventureWorks2012AdventureWorks2012 database. Le paramètre @start_job a la valeur 0 et @retention a pour valeur 5760 minutes (96 heures).The parameter @start_job is set to 0 and @retention is set to 5760 minutes (96 hours). Cet exemple suppose que le travail de nettoyage existant a été supprimé explicitement et doit être recréé.This example assumes that the existing cleanup job was explicitly dropped and must be recreated.

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

Voir aussiSee Also

dbo.cdc_jobs (Transact-SQL) dbo.cdc_jobs (Transact-SQL)
sys.sp_cdc_enable_table (Transact-SQL) sys.sp_cdc_enable_table (Transact-SQL)
À propos de la capture de données modifiées (SQL Server)About Change Data Capture (SQL Server)