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.

AttentionAttention

Si vous exécutez la procédure sp_repldone manuellement, vous pouvez invalider l'ordre et la cohérence des transactions remises. sp_repldone ne doit être utilisée que pour le dépannage de la réplication, suivant les directives d'un professionnel expérimenté dans l'aide à la réplication.

Icône Lien de rubriqueConventions 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, si indiqué, nécessaires pour distribuer le dernier traitement 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. S'il a la valeur 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 n'est valide que lorsque xactid et xact_seqno ont la valeur NULL.

Valeurs des codes retournés

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
AttentionAttention

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. L'utilisation de cette procédure permet d'éviter que MicrosoftSQL Server 2000 ne réplique la base de données avant qu'elle ne soit retirée de la publication puis republiée.