sp_repldone (Transact-SQL)
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 doit seulement être utilisé pour une réplication de dépannage sous les instructions d'un professionnel expérimenté de la réplication. |
Conventions de la syntaxe de Transact-SQL
Syntaxe
sp_repldone [ @xactid= ] xactid
, [ @xact_seqno= ] xact_seqno
[ , [ @numtrans= ] numtrans ]
[ , [ @time= ] time
[ , [ @reset= ] reset ]
Arguments
[ @xactid=] xactid
Numéro séquentiel dans le journal du premier enregistrement de la dernière transaction distribuée du serveur. xactid est de type binary(10), sans valeur par défaut.[ @xact_seqno=] xact_seqno
Numéro de séquence d'enregistrement du dernier enregistrement de la dernière transaction distribuée du serveur. xact_seqno est de type binary(10), sans valeur par défaut.[ @numtrans=] numtrans
Nombre de transactions distribuées. numtrans est de type int, sans valeur par défaut.[ @time=] time
Nombre de millisecondes, le cas échéant, nécessaires pour distribuer la dernière série de transactions. time est de type int, sans valeur par défaut.[ @reset=] reset
État de la réinitialisation. reset est de type int, sans valeur par défaut. Lorsqu'il a la valeur 1, toutes les transactions répliquées du 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. reset est valide uniquement lorsque xactid et xact_seqno ont la valeur NULL.
Valeurs des codes de retour
0 (succès) ou 1 (échec)
Notes
La procédure sp_repldone est utilisée au cours d'une réplication transactionnelle.
sp_repldone est utilisée par le processus de lecture du journal pour effectuer le suivi des transactions distribuées.
Avec sp_repldone, vous pouvez informer manuellement le 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 obligatoires xactid et xact_seqno peuvent être obtenus en utilisant sp_repltrans ou sp_replcmds.
Autorisations
Les membres appartenant au rôle fixe de serveur sysadmin ou au rôle fixe de base de données db_owner peuvent exécuter la procédure sp_repldone.
Exemple
Lorsque xactid a la valeur NULL, xact_seqno a la valeur NULL et que reset a la valeur 1, toutes les transactions répliquées dans le journal sont signalé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_segno = 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. |