Partager via


sys.sp_cdc_add_job (Transact-SQL)

S'applique à : SQL Server

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

Conventions de la syntaxe Transact-SQL

Syntaxe

sys.sp_cdc_add_job [ @job_type = ] N'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 = ] N’job_type'

Type du travail à ajouter. @job_type est nvarchar(20) et ne peut pas être NULL. Les entrées valides sont capture et cleanup.

[ @start_job = ] start_job

Indicateur indiquant si le travail doit être démarré immédiatement après son ajout. @start_job est bit avec une valeur par défaut .1

[ @maxtrans ] = max_trans

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

@maxtrans 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 la valeur par défaut 10.

@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 la valeur par défaut 1.

  • 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 transaction pendant chaque analyse, puis se ferme.

@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 de 5.

@pollinginterval est valide uniquement pour les travaux de capture lorsque @continuous est défini 1sur . Si elle est spécifiée, la valeur doit être supérieure ou égale à et inférieure à 0 24 heures (jusqu’à 86399 secondes). Si une valeur est 0 spécifiée, il n’y a pas d’attente entre les analyses de journal.

[ @retention ] = rétention

Nombre de minutes pendant lesquelles les lignes de données modifiées doivent être conservées dans les tables de modifications. @retention est bigint avec une valeur par défaut de 4320 (72 heures). 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 de 5000.

Valeurs des codes de retour

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

Jeu de résultats

Aucune.

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 piloter le mécanisme de capture et un travail de capture distinct n’est pas obligatoire ou 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éé.

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

Pour afficher la configuration actuelle d’un travail de nettoyage ou de capture, utilisez sys.sp_cdc_help_jobs. Pour modifier la configuration d’un travail, utilisez sys.sp_cdc_change_job.

autorisations

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

Exemples

R. Créer 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 AdventureWorks2022;
GO
EXEC sys.sp_cdc_add_job @job_type = N'capture';
GO

B. Créer un travail de nettoyage

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

USE AdventureWorks2022;
GO

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