sp_showpendingchanges (Transact-SQL)

Gilt für: SQL Server

Gibt ein Resultset zurück, das die Änderungen anzeigt, die noch repliziert werden müssen. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungsdatenbank und auf dem Abonnenten für die Abonnementdatenbank ausgeführt.

Transact-SQL-Syntaxkonventionen

Hinweis

Diese Prozedur liefert einen geschätzten Wert für die Anzahl der Änderungen und die an diesen Änderungen beteiligten Zeilen. Beispielsweise ruft die Prozedur Informationen entweder vom Verleger oder vom Abonnenten ab, jedoch nicht beides gleichzeitig. Informationen, die im anderen Knoten gespeichert sind, ergeben möglicherweise einen kleineren Änderungssatz für die Synchronisierung als von der Prozedur geschätzt.

Syntax

sp_showpendingchanges
    [ [ @destination_server = ] N'destination_server' ]
    [ , [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
    [ , [ @show_rows = ] show_rows ]
[ ; ]

Argumente

[ @destination_server = ] N'destination_server'

Der Name des Servers, auf den die replizierten Änderungen angewendet werden. @destination_server ist "sysname" mit dem Standardwert "NULL.

[ @publication = ] N'Publikation'

Der Name der Veröffentlichung. @publication ist "sysname" mit der Standardeinstellung "NULL. Wenn @publication angegeben wird, sind die Ergebnisse nur auf die angegebene Publikation beschränkt.

[ @article = ] N'article'

Der Name des Artikels. @article ist "sysname" mit der Standardeinstellung "NULL. Wenn @article angegeben wird, sind die Ergebnisse nur auf den angegebenen Artikel beschränkt.

[ @show_rows = ] show_rows

Gibt an, ob das Resultset spezifischere Informationen zu ausstehenden Änderungen enthält. @show_rows ist int mit einem Standardwert von 0. Wenn ein Wert 1 angegeben ist, enthält das Resultset die Spalten is_delete und rowguid.

Resultset

Spaltenname Datentyp Beschreibung
destination_server sysname Name des Servers, auf den die Änderungen repliziert werden
pub_name sysname Der Name der Veröffentlichung.
destination_db_name sysname Name der Datenbank, in die die Änderungen repliziert werden
is_dest_subscriber bit Gibt an, ob Änderungen auf einen Abonnenten repliziert werden. Ein Wert, der 1 angibt, dass die Änderungen in einen Abonnenten repliziert werden. 0 bedeutet, dass Änderungen in einem Publisher repliziert werden.
article_name sysname Der Name des Artikels für die Tabelle, aus der die Änderungen stammen.
pending_deletes int Die Anzahl von Löschvorgängen, die auf die Replikation warten.
pending_ins_and_upd int Die Anzahl von Einfügungen und Updates, die auf die Replikation warten.
is_delete bit Gibt an, ob die anstehende Änderung ein Löschvorgang ist. Ein Wert, der 1 angibt, dass die Änderung ein Löschvorgang ist. Erfordert einen Wert für 1 @show_rows.
rowguid uniqueidentifier Die GUID, die die geänderte Zeile identifiziert. Erfordert einen Wert für 1 @show_rows.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

sp_showpendingchanges wird in der Seriendruckreplikation verwendet.

sp_showpendingchanges wird bei der Problembehandlung bei der Zusammenführungsreplikation verwendet.

Das Ergebnis enthält sp_showpendingchanges keine Zeilen in der Generation 0.

Wenn ein für @article angegebener Artikel nicht zur für @publication angegebenen Publikation gehört, wird eine Anzahl von 0 zurückgegeben für pending_deletes und pending_ins_and_upd.

Berechtigungen

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