Partager via


sys.sp_cdc_change_job (Transact-SQL)

S'applique à : SQL Server

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

Conventions de la syntaxe Transact-SQL

Syntaxe

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

Arguments

[ @job_type = ] N’job_type'

Type de travail à modifier. @job_type est 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. @maxtrans est int, avec une valeur par défaut NULL, qui 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. @maxscans est int, avec une valeur par défaut NULL, qui indique aucune modification pour ce paramètre.

@max_scan est valide uniquement pour les travaux de capture.

[ @continuous ] = continu

Indique si le travail de capture doit s’exécuter en continu (1) ou s’exécuter une seule fois (0). @continuous est bit, avec une valeur par défaut , NULLqui indique aucune modification pour ce paramètre.

  • Lorsque @continuous est 1, le travail sys.sp_cdc_scan analyse le journal et traite jusqu’à (@maxtrans * @maxscans) transactions. Il attend ensuite le nombre de secondes spécifiées dans @pollinginterval avant de commencer l’analyse de journal suivante.

  • Lorsque @continuous est 0, le sp_cdc_scan travail s’exécute jusqu’à @maxscans analyses du journal, le traitement jusqu’à @maxtrans transactions pendant chaque analyse, puis se ferme.

  • Si @continuous est remplacé 01 par , @pollinginterval est automatiquement défini sur 0. Valeur spécifiée pour @pollinginterval autre que 0 celle qui est ignorée.

  • Si @continuous est omise ou définie explicitement NULL sur et @pollinginterval est explicitement définie sur une valeur supérieure 0à , @continuous est automatiquement définie sur 1.

@continuous est valide uniquement pour les travaux de capture.

[ @pollinginterval ] = polling_interval

Nombre de secondes entre les cycles d’analyse du journal. @pollinginterval est bigint, avec une valeur par défaut , NULLqui indique aucune modification pour ce paramètre.

@pollinginterval est valide uniquement pour les travaux de capture lorsque @continuous est défini 1sur .

[ @retention ] = rétention

Nombre de minutes pendant lesquelles les lignes de modification doivent être conservées dans les tables de modification. @retention est bigint, avec une valeur par défaut NULL, qui indique aucune modification pour ce paramètre. La valeur maximale est 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 de suppression qui peuvent être supprimées à l’aide d’une instruction unique sur le nettoyage. @threshold est bigint, avec une valeur par défaut NULL, qui indique aucune modification pour ce paramètre. @threshold est valide uniquement pour les travaux de nettoyage.

Valeurs des codes de retour

0 (réussite) or 1 (échec).

Jeu de résultats

Aucune.

Notes

Si un paramètre est omis, la valeur associée dans la table dbo.cdc_jobs n’est pas mise à jour. Un jeu de paramètres à traiter explicitement NULL est traité comme si le paramètre est omis.

La spécification d’un paramètre non valide pour le type de travail provoque l’échec de l’instruction.

Les modifications apportées à un travail ne prennent pas effet tant que le travail n’est pas arrêté à l’aide de sys.sp_cdc_stop_job et redémarré à l’aide de sys.sp_cdc_start_job.

autorisations

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

Exemples

R. Modifier un travail de capture

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

USE AdventureWorks2022;
GO

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

B. Modifier un travail de nettoyage

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

USE AdventureWorks2022;
GO

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