Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure 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 tillsp_marksubscriptionvalidationi 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.