sp_publication_validation (Transact-SQL)sp_publication_validation (Transact-SQL)

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceAnwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) JaVerwaltete Azure SQL-InstanzAzure SQL Managed InstanceYesVerwaltete Azure SQL-InstanzAzure SQL Managed Instance

Initiiert eine Artikelüberprüfungsanforderung für jeden Artikel in der angegebenen Veröffentlichung.Initiates an article validation request for each article in the specified publication. Diese gespeicherte Prozedur wird auf dem Verleger für die Veröffentlichungs Datenbank ausgeführt.This stored procedure is executed at the Publisher on the publication database.

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

  
sp_publication_validation [ @publication = ] 'publication'  
    [ , [ @rowcount_only = ] type_of_check_requested ]  
    [ , [ @full_or_fast = ] full_or_fast ]  
    [ , [ @shutdown_agent = ] shutdown_agent ]  
    [ , [ @publisher = ] 'publisher' ]  

ArgumenteArguments

[ @publication = ] 'publication' Der Name der Veröffentlichung.[ @publication = ] 'publication' Is the name of the publication. Publication ist vom Datentyp vom Datentyp sysnameund hat keinen Standardwert.publication is sysname, with no default.

[ @rowcount_only = ] 'rowcount_only' Gibt an, ob nur die Zeilen Anzahl für die Tabelle zurückgegeben werden soll.[ @rowcount_only = ] 'rowcount_only' Is whether to return only the rowcount for the table. rowcount_only ist vom Datentyp smallint und kann einen der folgenden Werte aufweisen.rowcount_only is smallint and can be one of the following values.

WertValue BESCHREIBUNGDescription
00 Führt eine mit SQL ServerSQL Server 7.0 kompatible Prüfsummenberechnung durch.Perform a SQL ServerSQL Server 7.0 compatible checksum.

Hinweis: Wenn ein Artikel horizontal gefiltert wird, wird anstelle eines Prüfsummen Vorgangs ein ROWCOUNT-Vorgang ausgeführt.Note: When an article is horizontally filtered, a rowcount operation is performed instead of a checksum operation.
1 (Standard)1 (default) Führt nur eine Überprüfung der Zeilenanzahl aus.Perform a rowcount check only.
22 Führt eine Überprüfung der Zeilenanzahl und der binären Prüfsumme aus.Perform a rowcount and binary checksum.

Hinweis: für SQL ServerSQL Server Abonnenten der Version 7,0 wird nur eine Überprüfung der Zeilen Anzahl durchgeführt.Note: For SQL ServerSQL Server version 7.0 Subscribers, only a rowcount validation is performed.

[ @full_or_fast = ] 'full_or_fast' Die Methode, die zum Berechnen der Zeilen Anzahl verwendet wird.[ @full_or_fast = ] 'full_or_fast' Is the method used to calculate the rowcount. full_or_fast ist vom Datentyp tinyint und kann einen der folgenden Werte aufweisen.full_or_fast is tinyint and can be one of the following values.

WertValue BESCHREIBUNGDescription
00 Führt eine vollständige Zählung mit COUNT(*) durch.Does full count using COUNT(*).
11 Führt eine schnelle Anzahl von sysindexes. Rowsaus.Does fast count from sysindexes.rows. Das zählen von Zeilen in sys.sysIndizes ist wesentlich schneller als das zählen der Zeilen in der eigentlichen Tabelle.Counting rows in sys.sysindexes is much faster than counting rows in the actual table. Da sys.sysIndizes jedoch verzögert aktualisiert werden, ist die Zeilen Anzahl möglicherweise nicht korrekt.However, because sys.sysindexes is lazily updated, the rowcount may not be accurate.
2 (Standardwert)2 (default) Führt eine bedingte schnelle Zählung durch, indem zunächst versucht wird, die schnelle Methode anzuwenden.Does conditional fast counting by first trying the fast method. Ergeben sich mit der schnellen Methode Unterschiede, wird die Methode für die vollständige Zählung verwendet.If fast method shows differences, reverts to full method. Wenn expected_rowcount NULL ist und die gespeicherte Prozedur verwendet wird, um den Wert zu erhalten, wird immer eine vollständige Anzahl (*) verwendet.If expected_rowcount is NULL and the stored procedure is being used to get the value, a full COUNT(*) is always used.

[ @shutdown_agent = ] 'shutdown_agent' Gibt an, ob der Verteilungs-Agent sofort nach Abschluss der Überprüfung heruntergefahren werden soll.[ @shutdown_agent = ] 'shutdown_agent' Is whether the Distribution Agent should shut down immediately upon completion of the validation. shutdown_agent ist vom Typ Bit. der Standardwert ist 0.shutdown_agent is bit, with a default of 0. Bei 0wird der Replikations-Agent nicht heruntergefahren.If 0, the replication agent does not shut down. Wenn der Wert 1ist, wird der Replikations-Agent nach der Überprüfung des letzten Artikels heruntergefahren.If 1, the replication agent shuts down after the last article is validated.

[ @publisher = ] 'publisher' Gibt einen nicht-- SQL ServerSQL Server Verleger an.[ @publisher = ] 'publisher' Specifies a non- SQL ServerSQL Server Publisher. Publisher ist vom Datentyp vom Datentyp sysnameund hat den Standardwert NULL.publisher is sysname, with a default of NULL.

Hinweis

der Verleger sollte nicht verwendet werden, wenn die Überprüfung auf einem Verleger angefordert wird SQL ServerSQL Server .publisher should not be used when requesting validation on a SQL ServerSQL Server Publisher.

RückgabecodewerteReturn Code Values

0 (Erfolg) oder 1 (Fehler)0 (success) or 1 (failure)

HinweiseRemarks

sp_publication_validation wird bei der Transaktions Replikation verwendet.sp_publication_validation is used in transactional replication.

sp_publication_validation können jederzeit aufgerufen werden, nachdem die Artikel, die der Veröffentlichung zugeordnet sind, aktiviert wurden.sp_publication_validation can be called at any time after the articles associated with the publication have been activated. Die Prozedur kann (einmalig) manuell ausgeführt werden oder als Bestandteil eines regelmäßig geplanten Auftrags, der die Daten überprüft.The procedure can be run manually (one time) or as part of a regularly scheduled job that validates the data.

Wenn Ihre Anwendung Abonnenten mit sofortigem Update hat, können sp_publication_validation falsche Fehler erkennen.If your application has immediate-updating Subscribers, sp_publication_validation may detect spurious errors. sp_publication_validation berechnet zuerst die Zeilen Anzahl oder Prüfsumme auf dem Verleger und dann auf dem Abonnenten.sp_publication_validation first calculates the rowcount or checksum at the Publisher and then at the Subscriber. Da der sofort aktualisierbare Trigger ein Update vom Abonnenten zum Verleger möglicherweise weitergibt, nachdem die Zeilenanzahl oder Prüfsumme am Verleger vollständig berechnet wurde, aber bevor die Zeilenanzahl oder Prüfsumme am Abonnenten vollständig berechnet ist, können sich die Werte möglicherweise ändern.Because the immediate-updating trigger could propagate an update from the Subscriber to the Publisher after the rowcount or checksum is completed at the Publisher, but before the rowcount or checksum is completed at the Subscriber, the values could change. Um sicherzustellen, dass die Werte auf dem Abonnenten und auf dem Verleger sich nicht ändern, während eine Veröffentlichung überprüft wird, müssen Sie den MS DTC-Dienst (Microsoft Distributed Transaction Coordinator) auf dem Verleger für die Zeit der Überprüfung beenden.To ensure that the values at the Subscriber and Publisher do not change while validating a publication, stop the Microsoft Distributed Transaction Coordinator (MS DTC) service at the Publisher during validation.

BerechtigungenPermissions

Nur Mitglieder der festen Server Rolle sysadmin oder der festen Daten Bank Rolle db_owner können sp_publication_validationausführen.Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_publication_validation.

Weitere InformationenSee Also

Überprüfen von Daten auf dem Abonnenten Validate Data at the Subscriber
sp_article_validation (Transact-SQL-) sp_article_validation (Transact-SQL)
sp_table_validation (Transact-SQL-) sp_table_validation (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)System Stored Procedures (Transact-SQL)