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 valideringsbegäran för varje artikel i den angivna publikationen. Den här lagrade proceduren körs i Publisher i publikationsdatabasen.
Transact-SQL syntaxkonventioner
Syntax
sys.sp_publication_validation
[ @publication = ] N'publication'
[ , [ @rowcount_only = ] rowcount_only ]
[ , [ @full_or_fast = ] full_or_fast ]
[ , [ @shutdown_agent = ] shutdown_agent ]
[ , [ @publisher = ] N'publisher' ]
[ ; ]
Arguments
[ @publication = ] N'publicering'
Namnet på publikationen. @publication är sysname, utan standard.
[ @rowcount_only = ] rowcount_only
Specificerar om endast radantalet för tabellen ska returneras. @rowcount_only är smallint och kan vara ett av följande värden.
| Value | Description |
|---|---|
0 |
Utför en SQL Server 7.0-kompatibel kontrollsumma. Notera: När en artikel filtreras horisontellt utförs en radräkningsoperation istället för en kontrollsumma. |
1 (standardinställning) |
Utför endast en radräkningskontroll. |
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 följande värden.
| Value | Description |
|---|---|
0 |
Gör full räkning med .COUNT(*) |
1 |
Räknas snabbt från sysindexes.rows. Att räkna rader i sys.sysindexes går snabbare än att räkna rader i den faktiska tabellen. Men eftersom sys.sysindexes uppdateras lat kan radräkningen vara felaktig. |
2 (standardinställning) |
Gör villkorlig snabb räkning genom att först prova snabbmetoden. 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 Distribution Agent ska stängas av omedelbart efter att valideringen är klar.
@shutdown_agent är bit, med standardvärdet .0
- Om
0, stängs inte replikationsagenten av. - Om
1, stängs replikationsagenten av efter att den sista artikeln har validerats.
[ @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_publication_validation används vid transaktionell replikation.
sp_publication_validation kan anropas när som helst efter att artiklarna kopplade till publikationen har aktiverats. Proceduren kan köras manuellt (en gång) eller som en del av ett regelbundet schemalagt jobb som validerar datan.
Om din applikation har omedelbart uppdaterade prenumeranter sp_publication_validation kan det upptäcka osäkra fel.
sp_publication_validationförst beräknar raden eller kontrollsumman hos Publisher och sedan hos Subscriber. Eftersom triggern för omedelbar uppdatering kan sprida en uppdatering från Subscriber till Publisher efter att radräkningen eller kontrollsumman är klar hos Publisher, men innan radräkningen eller kontrollsumman är klar hos Subscriber, kan värdena ändras. För att säkerställa att värdena hos Subscriber och Publisher inte ändras vid validering av en publikation, stoppa Microsoft Distributed Transaction Coordinator (MS DTC)-tjänsten hos Publisher under valideringen.
Permissions
Endast medlemmar av sysadmin-rollen med fast server eller db_owner fast databasroll kan köra sp_publication_validation.