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 Utilisation des statistiques pour améliorer les performances des requêtes.

Icône Lien de rubriqueConventions 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 'resample' n'est pas spécifié, 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 Utilisation des statistiques pour améliorer les performances des requêtes.

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

USE AdventureWorks2008R2;
GO
EXEC sp_updatestats