sp_replcmds (Transact-SQL)

 

S’applique à : SQL Server

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)nonAzure SQL DatabasenonAzure SQL Data WarehousenonParallel Data Warehouse

Retourne les commandes pour les transactions signalées pour la réplication. Cette procédure stockée est exécutée sur le serveur de publication dans la base de données de publication.

System_CAPS_ICON_important.jpg Important


Le sp_replcmds procédure doit être exécutée uniquement pour résoudre les problèmes de réplication.

Topic link icon Conventions de la syntaxe Transact-SQL

  
sp_replcmds [ @maxtrans = ] maxtrans  

[ @maxtrans=] maxtrans
Nombre de transactions au sujet desquelles des informations sont retournées. maxtrans est int, avec une valeur par défaut 1, qui spécifie la prochaine transaction en attente de distribution.

Nom de colonneType de donnéesDescription
id de l’articleintL’ID de l’article.
commande_partiellebitsIndique s'il s'agit d'une commande partielle
commandevarbinary(1024)La valeur de commande.
xactidbinary (10)ID de transaction.
xact_seqnovarbinary (16)Numéro de séquence de transaction.
id_de_la_publicationintID de la publication.
id_de_commandeintID de la commande MSrepl_commands.
command_typeintType de commande.
originator_srvnamesysnameServeur d'origine de la transaction.
originator_dbsysnameBase de données d'origine de la transaction.
pkHashintÀ usage interne uniquement
originator_publication_idintID de la publication d'origine de la transaction.
originator_db_versionintVersion de la base de données d'origine de la transaction.
originator_lsnvarbinary (16)Identifie le numéro séquentiel dans le journal (LSN) de la commande dans la publication d'origine.

sp_replcmds est utilisé par le processus de lecture du journal dans la réplication transactionnelle.

La réplication traite le premier client qui exécute sp_replcmds au sein d’une base de données en tant que lecteur de journal.

Cette procédure peut générer des commandes pour des tables propriétaires qualifiées, ou ne pas qualifier le nom de la table (valeur par défaut). L'ajout de noms de table qualifiés autorise la réplication des données à partir de tables appartenant à un utilisateur spécifique dans une base de données, vers des tables appartenant à ce même utilisateur dans une autre base de données.

System_CAPS_ICON_note.jpg Remarque


Étant donné que le nom de table figurant dans la base de données source est qualifié par le nom du propriétaire, le propriétaire de la table dans la base de données cible doit porter le même nom de propriétaire.

Les clients qui tentent d’exécuter sp_replcmds au sein de la même base de données reçoivent le message d’erreur 18752 jusqu'à ce que le premier client se déconnecte. Une fois le premier client déconnecté, un autre client peut exécuter sp_replcmds, et devient le nouveau lecteur de journal.

Un message d’alerte numéro 18759 est ajouté à la fois à la Microsoft SQL Server journal des erreurs et la Microsoft journal des applications de Windows si sp_replcmds ne parvient pas à répliquer une commande de texte, car le pointeur de texte n’a pas été extrait dans la même transaction.

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

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

Ajouts de la communauté

AJOUTER
Afficher: