Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server
Wird bei der Problembehandlung verwendet, um die letzte zugestellte Transaktion mithilfe der Protokollsequenznummer (Log Sequence Number, LSN) anzugeben, sodass der Verteilungs-Agent mit der Bereitstellung bei der nächsten Transaktion beginnen kann. Nach dem Neustart gibt die Verteilungs-Agent Transaktionen zurück, die größer als dieses Wasserzeichen (LSN) aus dem Verteilungsdatenbankcache (msrepl_commands). Diese gespeicherte Prozedur wird beim Abonnenten in der Abonnementdatenbank ausgeführt. Wird nicht für Nicht-SQL Server-Abonnenten unterstützt.
Achtung
Eine falsche Verwendung dieser gespeicherten Prozedur oder die Angabe eines falschen LSN-Werts kann den Verteilungs-Agent dazu veranlassen, Änderungen, die bereits auf den Abonnenten angewendet wurden, rückgängig zu machen oder alle noch verbleibenden Änderungen auszulassen.
Transact-SQL-Syntaxkonventionen
Syntax
sp_setsubscriptionxactseqno
[ @publisher = ] N'publisher'
, [ @publisher_db = ] N'publisher_db'
, [ @publication = ] N'publication'
, [ @xact_seqno = ] xact_seqno
[ ; ]
Argumente
[ @publisher = ] N'publisher'
Der Name des Herausgebers. @publisher ist "sysname" ohne Standard.
[ @publisher_db = ] N'publisher_db'
Der Name der Publikationsdatenbank. @publisher_db ist "sysname" ohne Standard. Bei einem Nicht-SQL Server-Herausgeber ist @publisher_db der Name der Verteilungsdatenbank.
[ @publication = ] N'Publikation'
Der Name der Veröffentlichung. @publication ist "sysname" ohne Standard. Wenn mehr als eine Publikation die Verteilungs-Agent freigibt, müssen Sie einen Wert ALL
für @publication angeben.
[ @xact_seqno = ] xact_seqno
Die LSN der nächsten Transaktion beim Distributor, die beim Abonnenten angewendet werden soll. @xact_seqno ist varbinary(16) ohne Standard.
Resultset
Spaltenname | Datentyp | Beschreibung |
---|---|---|
ORIGINAL XACT_SEQNO |
varbinary(16) | Die ursprüngliche LSN der nächsten Transaktion, die auf dem Abonnenten angewendet werden soll. |
UPDATED XACT_SEQNO |
varbinary(16) | Die aktualisierte LSN der nächsten Transaktion, die auf dem Abonnenten angewendet werden soll. |
SUBSCRIPTION STREAM COUNT |
int | Die Anzahl der bei der letzten Synchronisierung verwendeten Abonnementdatenströme. |
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
sp_setsubscriptionxactseqno
wird in der Transaktionsreplikation verwendet.
sp_setsubscriptionxactseqno
kann nicht in einer Peer-to-Peer-Replikationstopologie verwendet werden.
sp_setsubscriptionxactseqno
kann verwendet werden, um eine bestimmte Transaktion zu überspringen, die einen Fehler verursacht, wenn sie beim Abonnenten angewendet wird. Wenn ein Fehler auftritt und die Verteilungs-Agent beendet wurde, rufen Sie sp_helpsubscriptionerrors beim Distributor auf, um den xact_seqno
Wert der fehlgeschlagenen Transaktion abzurufen, und rufen Sie sp_setsubscriptionxactseqno
dann diesen Wert für @xact_seqno auf. Dadurch wird sichergestellt, dass nur die Befehle nach der Verarbeitung dieses LSNs ausgeführt werden.
Geben Sie einen Wert für 0
@xact_seqno an, um alle ausstehenden Befehle in der Verteilungsdatenbank an den Abonnenten zu übermitteln.
sp_setsubscriptionxactseqno
schlägt möglicherweise fehl, wenn die Verteilungs-Agent Mehrere Abonnementdatenströme verwendet.
Wenn dieser Fehler auftritt, müssen Sie den Verteilungs-Agent mit einem Datenstrom für ein einzelnes Abonnement ausführen. Weitere Informationen finden Sie unter Replication Distribution Agent.
Berechtigungen
Nur Mitglieder der festen Serverrolle sysadmin oder db_owner feste Datenbankrolle können ausgeführt werden sp_setsubscriptionxactseqno
.