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_replshowcmds
dieser 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_replflush
freigegeben 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
.