Condividi tramite


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 Statistiche.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

sp_updatestats [ [ @resample = ] 'resample']

Valori di codice 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 è di tipo varchar(8) e il 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 Statistiche.

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 AdventureWorks2012 .

USE AdventureWorks2012;
GO
EXEC sp_updatestats; 

Vedere anche

Riferimento

Opzioni ALTER DATABASE SET (Transact-SQL)

CREATE STATISTICS (Transact-SQL)

DBCC SHOW_STATISTICS (Transact-SQL)

DROP STATISTICS (Transact-SQL)

sp_autostats (Transact-SQL)

sp_createstats (Transact-SQL)

UPDATE STATISTICS (Transact-SQL)

Stored procedure di sistema