sys.sp_cdc_add_job (Transact-SQL)

Crée un travail de nettoyage ou de capture des données modifiées dans la base de données actuelle.

Icône Lien de rubriqueConventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

  • [ @job_type= ] 'job_type'
    Type du travail à ajouter. job_type est de type nvarchar(20) et ne peut pas avoir la valeur NULL. Les valeurs valides sont 'capture' et 'cleanup'.

  • [ @start_job= ] start_job
    Indicateur qui spécifie si le travail doit être démarré immédiatement après avoir été ajouté. start_job est de type bit avec 1 comme valeur par défaut.

  • [ @maxtrans ] = max_trans
    Nombre maximal de transactions à traiter dans chaque cycle d'analyse. max_trans est de type int avec 500 comme valeur par défaut. Si elle est spécifiée, la valeur doit être un entier positif.

    max_trans est valide uniquement pour les travaux de capture.

  • [ @maxscans ] **=**max_scans
    Nombre maximal de cycles d'analyse à exécuter pour extraire toutes les lignes du journal. max_scans est de type int avec 10 comme valeur par défaut.

    max_scan est valide uniquement pour les travaux de capture.

  • [ @continuous ] **=**continuous
    Indique si le travail de capture doit être exécuté en continu (1) ou une seule fois (0). continuous est de type bit avec 1 comme valeur par défaut.

    Lorsque continuous = 1, le travail sp_cdc_scan analyse le journal et traite jusqu'à (max_trans * max_scans) transactions. Il attend alors pendant le nombre de secondes spécifié dans polling_interval avant de commencer l'analyse de journal suivante.

    Lorsque continuous = 0, le travail sp_cdc_scan exécute jusqu'à max_scans analyses du journal, en traitant un maximum de max_trans transactions pendant chaque analyse, puis se termine.

    continuous est valide uniquement pour les travaux de capture.

  • [ @pollinginterval ] **=**polling_interval
    Nombre de secondes entre les cycles d'analyse du journal. polling_interval est de type bigint avec 5 comme valeur par défaut.

    polling_interval est valide uniquement pour les travaux de capture lorsque continuous a la valeur 1. Si elle est spécifiée, la valeur ne peut pas être négative et ne peut pas dépasser 24 heures. Si une valeur de 0 est spécifiée, il n'y a aucune attente entre les analyses de journal.

  • [ @retention ] **=**retention
    Nombre de minutes pendant lesquelles les lignes de données de modification doivent être conservées dans les tables de modifications. retention est de type bigint avec 4320 (72 heures) comme valeur par défaut. La valeur maximale est égale à 52494800 (100 ans). Si elle est spécifiée, la valeur doit être un entier positif.

    retention est valide uniquement pour les travaux de nettoyage.

  • [ @threshold = ] 'delete_threshold'
    Nombre maximal d'entrées qui peuvent être supprimées à l'aide d'une instruction unique lors du nettoyage. delete_threshold est de type bigint avec 5000 comme valeur par défaut.

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Jeux de résultats

Aucun

Notes

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

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

Le nom du travail est cdc.<database_name>_cleanup ou cdc.<database_name>_capture, où <database_name> est le nom de la base de données actuelle. Si un travail portant le même nom existe déjà, un point (.) est ajouté au nom, suivi d'un identificateur unique, par exemple cdc.AdventureWorks_capture.A1ACBDED-13FC-428C-8302-10100EF74F52.

Pour consulter la configuration actuelle d'un travail de nettoyage ou de capture, utilisez sp_cdc_help_jobs. Pour modifier la configuration d'un travail, utilisez sp_cdc_change_job.

Autorisations

Nécessite l'appartenance au rôle de base de données fixe db_owner.

Exemples

A. Création d'un travail de capture

L'exemple suivant crée un travail de capture. Cet exemple suppose que le travail de nettoyage existant a été supprimé explicitement et doit être recréé. Le travail est créé en utilisant les valeurs par défaut.

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

B. Création d'un travail de nettoyage

L'exemple suivant crée un travail de nettoyage dans la base de données AdventureWorks2008R2. Le paramètre @start_job a la valeur 0 et @retention a pour valeur 5760 minutes (96 heures). Cet exemple suppose que le travail de nettoyage existant a été supprimé explicitement et doit être recréé.

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