sp_replcmds (Transact-SQL)

 

Gilt für: SQL Server

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse

Mit dieser Prozedur werden die Transaktionsbefehle zurückgegeben, die für die Replikation gekennzeichnet sind. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungsdatenbank ausgeführt.

System_CAPS_ICON_important.jpg Wichtig


Die Sp_replcmds Prozedur sollte nur zur Fehlerbehebung bei der Replikation ausgeführt werden.

Topic link icon Transact-SQL-Syntaxkonventionen

  
sp_replcmds [ @maxtrans = ] maxtrans  

[ @maxtrans=] maxtrans
Die Anzahl der Transaktionen, zu denen Informationen zurückgegeben werden sollen. Maxtrans ist Int, hat den Standardwert 1, die angibt, dass der nächsten Transaktions Verteilung wartet.

SpaltennameDatentypDescription
Artikel-idintDie ID des Artikels.
verbleibenBitGibt an, ob es sich um einen Teilbefehl handelt.
Befehlvarbinary(1024)Der Befehlswert.
xactidBinary(10)"darstellenTransaktions-ID
xact_seqnovarbinary(16)Die Transaktionssequenznummer.
publication_idintDie ID der Veröffentlichung.
command_idintID des Befehls in MSrepl_commands.
command_typeintDer Typ des Befehls.
originator_srvnamesysnameServer, von dem die Transaktion stammt
originator_dbsysnameDatenbank, von der die Transaktion stammt
pkHashintNur interne Verwendung.
originator_publication_idintID der Veröffentlichung, von der die Transaktion stammt
originator_db_versionintVersion der Datenbank, von der die Transaktion stammt
originator_lsnvarbinary(16)Identifiziert die Protokollfolgenummer (LSN, Log Sequence Number) für den Befehl in der ursprünglichen Veröffentlichung

Sp_replcmds wird vom Protokollleseprozess bei der Transaktionsreplikation verwendet.

Replikation behandelt den ersten Client, der ausgeführt wird Sp_replcmds innerhalb einer bestimmten Datenbank als Protokollleser.

Diese Prozedur kann Befehle für mit dem Besitzer qualifizierte Tabellen erstellen oder den Tabellennamen nicht kennzeichnen (Standard). Das Hinzufügen von qualifizierten Tabellennamen ermöglicht die Datenreplikation von Tabellen mit einem bestimmten Besitzer innerhalb einer Datenbank zu Tabellen mit demselben Besitzer in einer anderen Datenbank.

System_CAPS_ICON_note.jpg Hinweis


Da der Tabellenname in der Quelldatenbank durch den Besitzernamen qualifiziert wird, muss es sich bei dem Tabellenbesitzer in der Zieldatenbank um den gleichen Besitzernamen handeln.

Clients, die versuchen, führen Sie Sp_replcmds innerhalb derselben Datenbank wird die Fehlermeldung 18752, bis der erste Client die Verbindung trennt. Nachdem der erste Client die Verbindung trennt, kann ein anderer Client ausführen Sp_replcmds, und wird zum neuen Protokollleser.

Die Fehlermeldungsnummer 18759 wird sowohl hinzugefügt der Microsoft SQL Server -Fehlerprotokoll und die Microsoft Windows-Anwendung zu protokollieren, wenn Sp_replcmds kann einen Textbefehl repliziert werden, da der Textzeiger nicht in derselben Transaktion abgerufen wurde.

Nur Mitglieder der der Sysadmin feste Serverrolle oder die Db_owner feste Datenbankrolle können ausführen Sp_replcmds.

Fehlermeldungen
Sp_repldone (Transact-SQL)
Sp_replflush (Transact-SQL)
Sp_repltrans (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: