Freigeben über


sp_replshowcmds (Transact-SQL)

Gilt für: SQL Server Azure SQL Managed Instance

Gibt die Befehle für Transaktionen, die für die Replikation in lesbarem Format markiert sind, zurück. sp_replshowcmds kann nur ausgeführt werden, wenn Clientverbindungen (einschließlich der aktuellen Verbindung) keine replizierten Transaktionen aus dem Protokoll lesen. Diese gespeicherte Prozedur wird im Publisher in der Publikationsdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Syntax

sp_replshowcmds [ [ @maxtrans = ] maxtrans ]
[ ; ]

Argumente

[ @maxtrans = ] maxtrans

Die Anzahl der Transaktionen, über die Informationen zurückgegeben werden sollen. @maxtrans ist int, mit einem Standardwert von 1, der die maximale Anzahl von Transaktionen angibt, für die die Replikation aussteht, für die sp_replshowcmds Informationen zurückgegeben werden.

Resultset

sp_replshowcmds ist eine Diagnoseprozedur, die Informationen zur Publikationsdatenbank zurückgibt, aus der sie ausgeführt wird.

Spaltenname Datentyp Beschreibung
xact_seqno binary(10) Sequenznummer des Befehls.
originator_id int ID des Befehlsherstellers, immer 0.
publisher_database_id int ID der Publisher-Datenbank, immer 0.
article_id int ID des Artikels.
type int Befehlstyp.
command nvarchar(1024) Transact-SQL--Befehl.

Hinweise

sp_replshowcmds wird in der Transaktionsreplikation verwendet.

Mit sp_replshowcmdsdieser Verwendung können Sie Transaktionen anzeigen, die derzeit nicht verteilt sind (die Transaktionen, die im Transaktionsprotokoll verbleiben, die noch nicht an den Distributor gesendet wurden).

Clients, die ausgeführt werden und sp_replcmds innerhalb derselben Datenbank ausgeführt sp_replshowcmds werden, erhalten Fehler 18752.

Um diesen Fehler zu vermeiden, muss der erste Client die Verbindung trennen oder die Rolle des Clients als Protokollleser durch Ausführen sp_replflushfreigegeben werden. Nachdem alle Clients die Verbindung mit dem Protokollleser getrennt haben, sp_replshowcmds kann sie erfolgreich ausgeführt werden.

Hinweis

sp_replshowcmds sollte nur ausgeführt werden, um Probleme mit der Replikation zu beheben.

Berechtigungen

Nur Mitglieder der festen Serverrolle sysadmin oder die db_owner feste Datenbankrolle können ausgeführt werden sp_replshowcmds.