sp_replshowcmds (Transact-SQL)

S’applique à :SQL ServerAzure SQL Managed Instance

Renvoie les commandes pour les transactions signalées pour la réplication dans un format lisible. sp_replshowcmds ne peut être exécuté que lorsque les connexions clientes (y compris la connexion actuelle) ne lisent pas les transactions répliquées à partir du journal. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

Conventions de la syntaxe Transact-SQL

Syntaxe

  
sp_replshowcmds [ @maxtrans = ] maxtrans  

Arguments

[ @maxtrans = ] maxtrans Nombre de transactions sur lesquelles retourner des informations. maxtrans est int, avec une valeur par défaut de 1, qui spécifie le nombre maximal de transactions en attente de réplication pour lesquelles sp_replshowcmds retourne des informations.

Jeux de résultats

sp_replshowcmds est une procédure de diagnostic qui retourne des informations sur la base de données de publication à partir de laquelle elle est exécutée.

Nom de la colonne Type de données Description
xact_seqno binary(10) Numéro de séquence de la commande.
originator_id int ID de l’originateur de commande, toujours 0.
publisher_database_id int ID de la base de données publisher, toujours 0.
article_id int ID de l’article.
type int Type de commande.
commande nvarchar(1024) Commande Transact-SQL .

Notes

sp_replshowcmds est utilisé dans la réplication transactionnelle.

À l’aide de sp_replshowcmds, vous pouvez afficher les transactions qui ne sont actuellement pas distribuées (ces transactions restantes dans le journal des transactions qui n’ont pas été envoyées au serveur de distribution).

Les clients qui exécutent sp_replshowcmds et sp_replcmds dans la même base de données reçoivent l’erreur 18752.

Pour éviter cette erreur, le premier client doit se déconnecter ou le rôle du client en tant que lecteur de journal doit être libéré en exécutant sp_replflush. Une fois que tous les clients se sont déconnectés du lecteur de journal, sp_replshowcmds peuvent être exécutés avec succès.

Remarque

sp_replshowcmds ne doit être exécuté que pour résoudre les problèmes de réplication.

Autorisations

Seuls les membres du rôle serveur fixe sysadmin ou le rôle de base de données fixe db_owner peuvent exécuter sp_replshowcmds.

Voir aussi

Messages d’erreur
sp_replcmds (Transact-SQL)
sp_repldone (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Procédures stockées système (Transact-SQL)