sys.sp_article_validation (Transact-SQL)

gäller för:SQL ServerAzure SQL Managed Instance

Initierar en datavalideringsbegäran för den angivna artikeln. Denna lagrade prozedur utförs hos Publisher i publikationsdatabasen och hos Subscriber i prenumerationsdatabasen.

Transact-SQL syntaxkonventioner

Syntax

sys.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' ]
[ ; ]

Arguments

[ @publication = ] N'publicering'

Namnet på publikationen där artikeln finns. @publication är sysname, utan standard.

[ @article = ] Inte en artikel'

Namnet på artikeln som ska valideras. @article är sysname, utan standard.

[ @rowcount_only = ] rowcount_only

Specificerar om endast radantalet för tabellen returneras. @rowcount_only är smallint, med en standard på 1.

  • Om 0, utför en radräkning och en SQL Server 7.0-kompatibel kontrollsumma.
  • Om 1, utför endast en radräkningskontroll.
  • Om 2, utför en radräkning och binär kontrollsumma.

[ @full_or_fast = ] full_or_fast

Metoden som används för att beräkna radräkningen. @full_or_fast är tinyint, och kan vara ett av dessa värden:

Value Beskrivning
0 Utför full räkning med .COUNT(*)
1 Utför snabb räkning från sysindexes.rows. Att räkna rader i sysindexes går snabbare än att räkna rader i själva tabellen. Men den uppdateras sysindexes lat, och radräkningen kanske inte är korrekt.
2 (standardinställning) Utför villkorad snabb räkning genom att först prova snabb metod. Om snabbmetoden visar skillnader, återgår den till full metod. Om expected_rowcount är och NULL den lagrade proceduren används för att få värdet, används alltid en full.COUNT(*)

[ @shutdown_agent = ] shutdown_agent

Specificerar om distributionsagenten ska stängas av omedelbart efter att valideringen är klar. @shutdown_agent är bit, med standardvärdet .0

  • Om 0, stängs inte Distribution Agent ner.
  • Om 1, stängs Distribution Agent ner efter att artikeln har validerats.

[ @subscription_level = ] subscription_level

Specificerar om valideringen plockas upp av en grupp prenumeranter. @subscription_level är bit, med en standard på 0.

  • Om 0, gäller validering för alla prenumeranter.
  • Om 1, gäller validering endast på en delmängd av de prenumeranter som anges av samtal till sp_marksubscriptionvalidation i den aktuella öppna transaktionen.

[ @reserved = ] reserverad

Identifieras endast i informationssyfte. Stöds ej. Framtida kompatibilitet garanteras inte.

[ @publisher = ] N'publisher'

Specificerar en icke-SQL Server Publisher. @publisher är sysname, med standardvärdet .NULL

@publisher bör inte användas när man begär validering på en SQL Server Publisher.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Remarks

sp_article_validation används vid transaktionell replikation.

sp_article_validation orsakar att valideringsinformation samlas in på den angivna artikeln och skickar en valideringsförfrågan till transaktionsloggen. När Distribution Agent tar emot denna förfrågan jämför Distribution Agent valideringsinformationen i förfrågan med Subscriber-tabellen. Resultaten av valideringen visas i Replication Monitor och i SQL Server Agent-varningar.

Permissions

Endast användare med SELECT ALL behörigheter på källtabellen för den artikel som valideras kan köra sp_article_validation.