sys.sp_cdc_change_job (Transact-SQL)

Modifie la configuration d'un travail de capture ou de nettoyage de capture des données modifiées dans la base de données actuelle. Pour consulter la configuration actuelle d'un travail, interrogez la table dbo.cdc_jobs ou utilisez sp_cdc_help_jobs.

Icône Lien de rubriqueConventions de syntaxe Transact-SQL

Syntaxe

sys.sp_cdc_change_job [ [ @job_type = ] 'job_type' ]
        [ , [ @maxtrans = ] max_trans ] 
    [ , [ @maxscans = ] max_scans ] 
        [ , [ @continuous = ] continuous ] 
    [ , [ @pollinginterval = ] polling_interval ] 
    [ , [ @retention ] = retention ] 
        [ @threshold = ] 'delete threshold'

Arguments

  • [ @job_type= ] 'job_type'
    Type de travail à modifier. job_type est de type nvarchar(20) avec la valeur par défaut 'capture'. Les entrées valides sont 'capture' et 'cleanup'.

  • [ @maxtrans ] **=**max_trans
    Nombre maximal de transactions à traiter dans chaque cycle d'analyse. max_trans est de type int avec NULL comme valeur par défaut, qui n'indique aucune modification pour ce paramètre. 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 afin d'extraire toutes les lignes du journal. max_scans est de type int avec NULL comme valeur par défaut, qui n'indique aucune modification pour ce paramètre.

    max_scan est valide uniquement pour les travaux de capture.

  • [ @continuous ] **=**continuous
    Indique si le travail de capture doit s'exécuter continuellement (1) ou une seule fois (0). continuous est de type bit avec NULL comme valeur par défaut, qui n'indique aucune modification pour ce paramètre.

    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.

    Si la valeur de l'argument @continuous passe de 1 à 0, @pollinginterval prend automatiquement la valeur 0. Une valeur autre que 0 spécifiée pour @pollinginterval est ignorée.

    Si @continuous est omis ou a pour valeur explicite NULL et que @pollinginterval a pour valeur explicite un nombre supérieur à  0, @continuous prend automatiquement la valeur 1.

    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 NULL comme valeur par défaut, qui n'indique aucune modification pour ce paramètre.

    polling_interval est valide uniquement pour les travaux de capture lorsque continuous a la valeur 1.

  • [ @retention ] **=**retention
    Nombre de minutes pendant lesquelles les lignes modifiées doivent être conservées dans les tables de modifications. retention est de type bigint avec NULL comme valeur par défaut, qui n'indique aucune modification pour ce paramètre. 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 NULL comme valeur par défaut, qui n'indique aucune modification pour ce paramètre. delete threshold est valide uniquement pour les travaux de nettoyage.

Valeurs des codes de retour

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

Jeux de résultats

Aucun

Notes

Si un paramètre est omis, la valeur associée dans la table dbo.cdc_jobs n'est pas mise à jour. Un paramètre qui a pour valeur explicite NULL est traité comme s'il était omis.

La spécification d'un paramètre qui n'est pas valide pour le type de travail provoquera l'échec de l'instruction.

Les modifications apportées à un travail n'entrent pas en vigueur tant que le travail n'est pas arrêté en utilisant sp_cdc_stop_job et redémarré en utilisant sp_cdc_start_job.

Autorisations

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

Exemples

A. Modification d'un travail de capture

L'exemple suivant met à jour les paramètres @job\_type, @maxscans et @maxtrans d'un travail de capture dans la base de données AdventureWorks. Les autres paramètres valides pour un travail de capture, @continuous et @pollinginterval, sont omis ; leurs valeurs ne sont pas modifiées.

USE AdventureWorks;
GO
EXECUTE sys.sp_cdc_change_job 
    @job_type = N'capture',
    @maxscans = 1000,
    @maxtrans = 15;
GO

B. Modification d'un travail de nettoyage

L'exemple suivant met à jour un travail de nettoyage dans la base de données AdventureWorks. Tous les paramètres valides pour ce type de travail, à l'exception de @threshold, sont spécifiés. La valeur de @threshold n'est pas modifiée.

USE AdventureWorks;
GO
EXECUTE sys.sp_cdc_change_job 
    @job_type = N'cleanup',
    @retention = 2880;
GO