sp_updatestats (Transact-SQL)

S’applique à : ouiSQL Server (toutes les versions prises en charge) OuiAzure SQL Database

S’exécute UPDATE STATISTICS sur toutes les tables définies par l’utilisateur et les tables internes de la base de données actuelle.

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

Icône du lien de rubrique Conventions de la syntaxe Transact-SQL

Syntaxe

sp_updatestats [ [ @resample = ] 'resample']  

Codet de retour

0 (réussite) ou 1 (échec)

Arguments

[ @resample = ] 'resample' Spécifie que sp_updatestats utilisera l’option reéchantillonner de l’instruction Update Statistics . Si 'resample' n’est pas spécifié, sp_updatestats met à jour les statistiques à l’aide de l’échantillonnage par défaut. resample est de type varchar (8) avec la valeur non par défaut.

Notes

sp_updatestats s’exécute UPDATE STATISTICS en spécifiant le ALL mot clé, 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 et ne met pas à jour les statistiques sur les index cluster désactivés.

Pour les tables sur disque, sp_updatestats met à jour les statistiques en fonction des informations de modification_counter dans l’affichage catalogue de sys.dm_db_stats_properties , en mettant à jour les statistiques pour lesquelles au moins une ligne a été modifiée. Les statistiques sur les tables optimisées en mémoire sont toujours mises à jour lors de l’exécution de sp_updatestats. Par conséquent, n’exécutez pas sp_updatestats plus que nécessaire.

sp_updatestats pouvez déclencher une recompilation de procédures stockées ou d’autres codes compilés. Toutefois, 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 qu’ils contiennent. Une recompilation serait inutile dans ce cas, même si les statistiques sont mises à jour.

Pour 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. Pour les bases de données dont le niveau de compatibilité est égal ou supérieur à 90, 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

Pour exécuter sp_updatestats, l’utilisateur doit être le propriétaire de la base de données (le dbo , pas uniquement le membre du rôle db_owner ) ou être membre du rôle serveur fixe sysadmin.

Exemples

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

USE AdventureWorks2012;  
GO  
EXEC sp_updatestats;   

Gestion automatique des index et des statistiques

Tirez parti de solutions comme Adaptive Index Defrag pour gérer automatiquement la défragmentation des index et les mises à jour des statistiques pour une ou plusieurs bases de données. Cette procédure choisit automatiquement s’il faut reconstruire ou réorganiser un index en fonction de son niveau de fragmentation, entre autres, et mettre à jour les statistiques avec un seuil linéaire.

Voir aussi

Options 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)
Procédures stockées système