sp_updatestats (Transact-SQL)

Esegue l'istruzione UPDATE STATISTICS su tutte le tabelle definite dall'utente e interne nel database corrente.

Per ulteriori informazioni su UPDATE STATISTICS, vedere UPDATE STATISTICS (Transact-SQL). Per ulteriori informazioni sulle statistiche, vedere Utilizzo di statistiche per migliorare le prestazioni di esecuzione delle query.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

        sp_updatestats [ [ @resample = ] 'resample']

Valori dei codici restituiti

0 (esito positivo) o 1 (esito negativo)

Argomenti

  • [ @resample =] 'resample'
    Specifica che la stored procedure sp_updatestats utilizzerà l'opzione RESAMPLE dell'istruzione UPDATE STATISTICS. Se 'resample' viene omesso, sp_updatestats aggiorna le statistiche in base al campionamento predefinito. resample è varchar(8) con valore predefinito NO.

Osservazioni

sp_updatestats esegue l'istruzione UPDATE STATISTICS con la parola chiave ALL su tutte le tabelle definite dall'utente e interne del database. Durante l'esecuzione di sp_updatestats vengono visualizzati messaggi che indicano lo stato dell'operazione. Al termine dell'aggiornamento, viene segnalato che sono state aggiornate le statistiche di tutte le tabelle.

sp_updatestats aggiorna le statistiche negli indici non cluster disabilitati, mentre non le aggiorna negli indici cluster disabilitati.

sp_updatestats aggiorna solo le statistiche che richiedono l'aggiornamento in base alle informazioni di rowmodctr disponibili nella vista di catalogo sys.sysindexes. Vengono quindi evitati aggiornamenti non necessari di statistiche nelle righe invariate.

sp_updatestats può attivare una ricompilazione di stored procedure o altro codice compilato. Tuttavia, sp_updatestats potrebbe non causare una ricompilazione, se è possibile un solo piano di query per le tabelle a cui viene fatto riferimento e i relativi indici. Una ricompilazione non sarebbe necessaria in tali casi anche se le statistiche vengono aggiornate.

Per i database con un livello di compatibilità inferiore a 90, l'esecuzione di sp_updatestats non mantiene l'impostazione più recente di NORECOMPUTE per statistiche specifiche. Per i database con un livello di compatibilità maggiore o uguale a 90, sp_updatestats mantiene l'impostazione più recente di NORECOMPUTE per statistiche specifiche. Per ulteriori informazioni sulla disabilitazione e riabilitazione degli aggiornamenti delle statistiche, vedere Utilizzo di statistiche per migliorare le prestazioni di esecuzione delle query.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del server sysadmin o la proprietà del database (dbo).

Esempi

Nell'esempio seguente vengono aggiornate le statistiche per le tabelle del database AdventureWorks2008R2.

USE AdventureWorks2008R2;
GO
EXEC sp_updatestats