sp_article_validation (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure
Inizializza una richiesta di convalida dei dati per l'articolo specificato. Questa stored procedure viene eseguita nel database di pubblicazione del server di pubblicazione e nel database di sottoscrizione del Sottoscrittore.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
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' ]
[ ; ]
Argomenti
[ @publication = ] N'publication'
Nome della pubblicazione in cui è presente l'articolo. @publication è sysname, senza impostazione predefinita.
[ @article = ] N'article'
Nome dell'articolo da convalidare. @article è sysname, senza impostazione predefinita.
[ @rowcount_only = ] rowcount_only
Indica se per la tabella viene restituito solo il conteggio delle righe. @rowcount_only è smallint, con un valore predefinito .1
- Se
0
, eseguire un conteggio delle righe e un checksum compatibile con SQL Server 7.0. - Se
1
, eseguire solo un controllo del conteggio delle righe. - Se
2
, eseguire un conteggio delle righe e un checksum binario.
[ @full_or_fast = ] full_or_fast
Metodo utilizzato per calcolare il conteggio delle righe. @full_or_fast è tinyint e può essere uno di questi valori:
Valore | Descrizione |
---|---|
0 |
Esegue il conteggio completo usando COUNT(*) . |
1 |
Esegue il conteggio rapido da sysindexes.rows . Il conteggio delle righe in sysindexes è più veloce rispetto al conteggio delle righe nella tabella effettiva. Tuttavia, sysindexes viene aggiornato in modo differinte e il conteggio delle righe potrebbe non essere accurato. |
2 (predefinito) |
Esegue un conteggio rapido condizionale eseguendo innanzitutto un tentativo con il metodo rapido. Se il metodo rapido evidenzia delle differenze, viene applicato il metodo completo. Se expected_rowcount è NULL e la stored procedure viene usata per ottenere il valore, viene sempre utilizzata una stored procedure completa COUNT(*) . |
[ @shutdown_agent = ] shutdown_agent
Indica se l'esecuzione dell'agente di distribuzione viene interrotta immediatamente al termine della convalida. @shutdown_agent è bit, con il valore predefinito 0
.
- Se
0
, il agente di distribuzione non viene arrestato. - Se
1
, il agente di distribuzione si arresta dopo la convalida dell'articolo.
[ @subscription_level = ] subscription_level
Indica se la convalida viene prelevata o meno da un set di Sottoscrittori. @subscription_level è bit, con un valore predefinito .0
- Se
0
, la convalida viene applicata a tutti i Sottoscrittori. - Se
1
, la convalida viene applicata solo a un subset dei Sottoscrittori specificati dalle chiamate asp_marksubscriptionvalidation
nella transazione aperta corrente.
[ @reserved = ] riservato
Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.
[ @publisher = ] N'publisher'
Specifica un server di pubblicazione non SQL Server. @publisher è sysname, con un valore predefinito .NULL
@publisher non deve essere usato quando si richiede la convalida in un server di pubblicazione di SQL Server.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Osservazioni:
sp_article_validation
viene usato nella replica transazionale.
sp_article_validation
fa in modo che le informazioni di convalida vengano raccolte nell'articolo specificato e inserisca una richiesta di convalida nel log delle transazioni. Quando l'agente di distribuzione riceve la richiesta, confronta le informazioni di convalida incluse nella richiesta con quelle della tabella del Sottoscrittore. I risultati della convalida vengono visualizzati in Monitoraggio replica e negli avvisi di SQL Server Agent.
Autorizzazioni
Solo gli utenti con SELECT ALL
autorizzazioni per la tabella di origine per l'articolo convalidato possono eseguire sp_article_validation
.