sp_article_validation (Transact-SQL)
Gilt für: SQL Server Azure SQL Managed Instance
Initiiert eine Datenüberprüfungsanforderung für den angegebenen Artikel. 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
Syntax
sp_article_validation
[ @publication = ] N'publication'
, [ @article = ] N'article'
[ , [ @rowcount_only = ] rowcount_only ]
[ , [ @full_or_fast = ] full_or_fast ]
[ , [ @shutdown_agent = ] shutdown_agent ]
[ , [ @subscription_level = ] subscription_level ]
[ , [ @reserved = ] reserved ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Argumente
[ @publication = ] N'Publikation'
Der Name der Publikation, in der der Artikel vorhanden ist. @publication ist "sysname" ohne Standard.
[ @article = ] N'article'
Der Name des zu überprüfenden Artikels. @article ist "sysname" ohne Standard.
[ @rowcount_only = ] rowcount_only
Gibt an, ob nur die Zeilenanzahl für die Tabelle zurückgegeben wird. @rowcount_only ist klein, mit einem Standardwert von 1
.
- Wenn
0
, führen Sie einen Zeilenzähler und eine SQL Server 7.0-kompatible Prüfsumme aus. - Wenn
1
, führen Sie nur eine Zeilenanzahlüberprüfung durch. - Wenn
2
, führen Sie eine Zeilenanzahl und binäre Prüfsumme aus.
[ @full_or_fast = ] full_or_fast
Die Methode, die zum Berechnen des Zeilenanzahls verwendet wird. @full_or_fast ist winzig und kann einer der folgenden Werte sein:
Wert | Beschreibung |
---|---|
0 |
Führt die vollständige Anzahl mithilfe von COUNT(*) . |
1 |
Führt schnelle Anzahl von sysindexes.rows . Das Zählen von Zeilen in sysindexes ist schneller als das Zählen von Zeilen in der tatsächlichen Tabelle. sysindexes Es wird jedoch lazily aktualisiert, und die Zeilenanzahl ist möglicherweise nicht korrekt. |
2 (Standard) |
Führt die bedingte schnelle Zählung durch, indem Sie zuerst die schnelle Methode ausprobieren. Ergeben sich mit der schnellen Methode Unterschiede, wird die Methode für die vollständige Zählung verwendet. NULL Wenn expected_rowcount und die gespeicherte Prozedur zum Abrufen des Werts verwendet wird, wird immer ein vollständiger COUNT(*) Wert verwendet. |
[ @shutdown_agent = ] shutdown_agent
Gibt an, ob der Verteilungs-Agent nach Abschluss der Überprüfung sofort heruntergefahren werden soll. @shutdown_agent ist bit, mit einem Standardwert von 0
.
- Wenn
0
der Verteilungs-Agent nicht heruntergefahren wird. - Wenn
1
die Verteilungs-Agent nach der Überprüfung des Artikels heruntergefahren wird.
[ @subscription_level = ] subscription_level
Gibt an, ob die Überprüfung von einem Satz von Abonnenten abgerufen wird. @subscription_level ist bit, mit einem Standardwert von 0
.
- Wenn
0
, wird die Überprüfung auf alle Abonnenten angewendet. - Wenn
1
die Überprüfung nur auf eine Teilmenge der Abonnenten angewendet wird, die durch Aufrufesp_marksubscriptionvalidation
in der aktuellen geöffneten Transaktion angegeben werden.
[ @reserved = ] reserviert
Nur für Informationszwecke identifiziert. Wird nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.
[ @publisher = ] N'publisher'
Gibt einen Nicht-SQL Server-Herausgeber an. @publisher ist "sysname" mit der Standardeinstellung "NULL
.
@publisher sollte nicht verwendet werden, wenn eine Überprüfung für einen SQL Server-Herausgeber angefordert wird.
Rückgabecodewerte
0
(erfolgreich) oder 1
Fehler.
Hinweise
sp_article_validation
wird in der Transaktionsreplikation verwendet.
sp_article_validation
bewirkt, dass Validierungsinformationen im angegebenen Artikel gesammelt werden und eine Überprüfungsanforderung an das Transaktionsprotokoll sendet. Wenn der Verteilungs-Agent diese Anforderung empfängt, vergleicht er die Überprüfungsinformationen in der Anforderung mit der Abonnententabelle. Die Ergebnisse der Überprüfung werden im Replikationsmonitor und in SQL Server-Agent Warnungen angezeigt.
Berechtigungen
Nur Benutzer mit SELECT ALL
Berechtigungen für die Quelltabelle für den überprüften Artikel können ausgeführt werden sp_article_validation
.