Partage via


sp_replshowcmds (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

Renvoie les commandes pour les transactions signalées pour la réplication dans un format lisible. sp_replshowcmds peut être exécuté uniquement 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 1, qui spécifie le nombre maximal de transactions en attente de réplication pour lesquelles sp_replshowcmds retourne des informations.

Jeu 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.
command nvarchar(1024) Commande Transact-SQL .

Notes

sp_replshowcmds est utilisé dans la réplication transactionnelle.

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

Les clients qui s’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 déconnectent du lecteur de journal, sp_replshowcmds ils peuvent être exécutés correctement.

Remarque

sp_replshowcmds doit être exécuté uniquement 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 s’exécuter sp_replshowcmds.