Partager via


sp_updatestats (Transact-SQL)

Exécute la procédure UPDATE STATISTICS sur toutes les tables définies par l'utilisateur et les tables internes de la base de données active.

Pour plus d'informations sur UPDATE STATISTICS, consultez UPDATE STATISTICS (Transact-SQL). Pour plus d'informations sur les statistiques, consultez Statistiques.

Icône Lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

sp_updatestats [ [ @resample = ] 'resample']

Valeurs des codes de retour

0 (succès) ou 1 (échec)

Arguments

  • [ @resample =] 'resample'
    Spécifie que sp_updatestats utilisera l'option RESAMPLE de l'instruction UPDATE STATISTICS. Si l'argument 'resample' n'est pas spécifié, la procédure sp_updatestats met à jour les statistiques en utilisant l'échantillonnage par défaut. resample est de type varchar(8) avec NO comme valeur par défaut.

Notes

La procédure sp_updatestats exécute UPDATE STATISTICS, en spécifiant le mot clé ALL sur toutes les tables définies par l'utilisateur et les tables internes de la base de données. sp_updatestats affiche des messages indiquant sa progression. Une fois la mise à jour terminée, cette procédure signale que les statistiques ont été mises à jour pour toutes les tables.

sp_updatestats met à jour les statistiques sur les index non cluster désactivés, mais ne met pas à jour les statistiques sur les index cluster désactivés.

sp_updatestats met à jour uniquement les statistiques qui nécessitent une mise à jour en fonction des informations de rowmodctr dans l'affichage catalogue sys.sysindexes ; cela permet d'éviter les mises à jour non nécessaires des statistiques pour les lignes qui n'ont pas été modifiées.

sp_updatestats peut déclencher une recompilation des procédures stockées ou d'autres codes compilés. Cependant, sp_updatestats peut ne pas provoquer de recompilation si un seul plan de requête est possible pour les tables référencées et les index définis sur elles. Une recompilation serait inutile dans ce cas, même si les statistiques sont mises à jour.

Avec les bases de données dont le niveau de compatibilité est inférieur à 90, l'exécution de sp_updatestats ne conserve pas le dernier paramètre NORECOMPUTE pour des statistiques spécifiques. Avec les bases de données dont le niveau de compatibilité est supérieur ou égal à 90, l'exécution de sp_updatestats conserve la dernière option NORECOMPUTE pour des statistiques spécifiques. Pour plus d'informations sur la désactivation et la réactivation des mises à jour des statistiques, consultez Statistiques.

Autorisations

Nécessite l'appartenance au rôle serveur fixe sysadmin ou la propriété de la base de données (dbo).

Exemples

Cet exemple met à jour les statistiques des tables de la base de données AdventureWorks2012 .

USE AdventureWorks2012;
GO
EXEC sp_updatestats; 

Voir aussi

Référence

Options SET de ALTER DATABASE (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)

Procédures stockées système