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 , NULL
qui 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
, lesp_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é
0
1
par , @pollinginterval est automatiquement défini sur0
. Valeur spécifiée pour @pollinginterval autre que0
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érieure0
à , @continuous est automatiquement définie sur1
.
@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 , NULL
qui indique aucune modification pour ce paramètre.
@pollinginterval est valide uniquement pour les travaux de capture lorsque @continuous est défini 1
sur .
[ @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