sp_repldone (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Met à jour l'enregistrement identifiant la dernière transaction distribuée du serveur. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

Attention

Si vous exécutez sp_repldone manuellement, vous pouvez invalider l’ordre et la cohérence des transactions remises. sp_repldone ne doit être utilisé que pour résoudre les problèmes de réplication comme indiqué par un professionnel de la prise en charge de la réplication expérimenté.

Conventions de la syntaxe Transact-SQL

Syntaxe

sp_repldone [ @xactid= ] xactid   
        , [ @xact_seqno= ] xact_seqno   
    [ , [ @numtrans= ] numtrans ]   
    [ , [ @time= ] time   
    [ , [ @reset= ] reset ]  

Arguments

[ @xactid = ] xactid Numéro de séquence de journal (LSN) du premier enregistrement pour la dernière transaction distribuée du serveur. xactid est binary(10), sans valeur par défaut.

[ @xact_seqno = ] xact_seqno LSN du dernier enregistrement pour la dernière transaction distribuée du serveur. xact_seqno est binary(10), sans valeur par défaut.

[ @numtrans = ] numtrans Nombre de transactions distribuées. numtrans est int, sans valeur par défaut.

[ @time = ] time Nombre de millisecondes, le cas échéant, nécessaire pour distribuer le dernier lot de transactions. l’heure est int, sans valeur par défaut.

[ @reset = ] reset État de réinitialisation. la réinitialisation est int, sans valeur par défaut. Si 1, toutes les transactions répliquées dans le journal sont marquées comme distribuées. Si 0, le journal des transactions est réinitialisé à la première transaction répliquée et aucune transaction répliquée n’est marquée comme distribuée. la réinitialisation est valide uniquement lorsque xactid et xact_seqno sont NULL.

Codet de retour

0 (réussite) ou 1 (échec)

Notes

sp_repldone est utilisé dans la réplication transactionnelle.

sp_repldone est utilisé par le processus de lecture du journal pour suivre les transactions qui ont été distribuées.

Avec sp_repldone, vous pouvez indiquer manuellement au serveur qu’une transaction a été répliquée (envoyée au serveur de distribution). Elle vous permet également de modifier la transaction marquée comme étant la prochaine en attente de réplication. Il est possible d'avancer et de reculer dans la liste des transactions répliquées. (Toutes les transactions antérieures ou simultanées à cette transaction seront signalées comme distribuées).

Les paramètres requis xactid et xact_seqno peuvent être obtenus à l’aide de sp_repltrans ou de sp_replcmds.

Autorisations

Les membres du rôle serveur fixe sysadmin ou du rôle de base de données fixe db_owner peuvent exécuter sp_repldone.

Exemples

Lorsque xactid a la valeur NULL, xact_seqno a la valeur NULL et la réinitialisation est 1, toutes les transactions répliquées dans le journal sont marquées comme distribuées. Cette fonction est utile lorsque il y a des transactions répliquées situées dans le journal des transactions qui ne sont plus valides et que vous désirez tronquer le journal, par exemple :

EXEC sp_repldone @xactid = NULL, @xact_seqno = NULL, @numtrans = 0, @time = 0, @reset = 1  

Attention

Cette procédure peut être utilisée dans les situations d'urgence pour permettre la troncature du journal des transactions lorsque des transactions en attente de réplication sont présentes.

Voir aussi

sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Procédures stockées système (Transact-SQL)