sys.dm_db_stats_properties (Transact-SQL)
Retourne les propriétés de statistiques de l'objet de base de données spécifié (table ou vue indexée) dans la base de données SQL Server active.
[!REMARQUE]
L'objet de gestion dynamique, sys.dm_db_stats_properties, est disponible dans SQL Server 2012 à partir de Service Pack 1 et dans SQL Server 2008 R2 à partir de Service Pack 2.
Syntaxe
sys.dm_db_stats_properties (object_id, stats_id)
Arguments
object_id
ID de l'objet dans la base de données active dont les propriétés d'une de ses statistiques sont demandées. object_id est de type int.stats_id
ID des statistiques pour l'object_id spécifié. L'ID des statistiques peut être obtenu à partir de la vue de gestion dynamique sys.stats. stats_id est de type int.
Table retournée
Nom de la colonne |
Type de données |
Description |
---|---|---|
object_id |
int |
ID de l'objet (table ou vue indexée) pour lequel retourner les propriétés de l'objet de statistiques. |
stats_id |
int |
ID de l'objet de statistiques. Unique dans la table ou la vue indexée. Pour plus d'informations, consultez sys.stats (Transact-SQL). |
last_updated |
datetime2 |
Date et heure de la dernière mise à jour de l'objet de statistiques. |
rows |
bigint |
Nombre total de lignes dans la table ou la vue indexée au moment de la dernière mise à jour des statistiques. Si les statistiques sont filtrées ou correspondent à un index filtré, le nombre de lignes peut être inférieur à celui de la table. |
rows_sampled |
bigint |
Nombre total de lignes échantillonnées pour le calcul des statistiques. |
steps |
int |
Nombre d'étapes dans l'histogramme. Pour plus d'informations, consultez DBCC SHOW_STATISTICS (Transact-SQL). |
unfiltered_rows |
bigint |
Nombre total de lignes dans la table avant l'application de l'expression de filtre (pour les statistiques filtrées). Si les statistiques ne sont pas filtrées, unfiltered_rows est égal à la valeur retournée dans la colonne rows. |
modification_counter |
bigint |
Nombre total de modifications de la première colonne de statistiques (la colonne sur laquelle l'histogramme est construit) depuis la dernière mise à jour des statistiques. |
Notes
sys.dm_db_stats_properties retourne un ensemble de lignes vide si l'une des conditions suivantes est remplie :
object_id ou stats_id a la valeur NULL.
L'objet spécifié est introuvable ou ne correspond à aucune table ou vue indexée.
L'ID de statistiques spécifié ne correspond pas à des statistiques existantes pour l'ID d'objet spécifié.
L'utilisateur actuel n'est pas autorisé à afficher l'objet de statistiques.
Ce comportement permet d'utiliser en toute sécurité sys.dm_db_stats_properties lorsqu'il est appliqué de façon croisée aux lignes de vues telles que sys.objects et sys.stats.
Autorisations
L'utilisateur doit avoir sélectionné des autorisations sur les colonnes de statistiques, ou bien il doit être le propriétaire de la table, ou encore il doit être membre du rôle serveur fixe sysadmin, du rôle de base de données fixe db_owner ou du rôle de base de données fixe db_ddladmin.
Exemples
A.Renvoi de toutes les propriétés de statistiques pour une table
L'exemple suivant retourne les propriétés de toutes les statistiques existantes pour la table TEST.
SELECT
sp.stats_id, name, filter_definition, last_updated, rows, rows_sampled, steps, unfiltered_rows, modification_counter
FROM sys.stats AS stat
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE stat.object_id = object_id('TEST');
B.Renvoi de toutes les propriétés de statistiques pour les objets modifiés fréquemment
L'exemple suivant retourne toutes les tables, les vues indexées et les statistiques de la base de données active, dans lesquelles la première colonne a été modifiée plus de 1000 fois depuis la dernière mise à jour des statistiques.
SELECT
obj.name, obj.object_id, stat.name, stat.stats_id, last_updated, modification_counter
FROM sys.objects AS obj
JOIN sys.stats stat ON stat.object_id = obj.object_id
CROSS APPLY sys.dm_db_stats_properties(stat.object_id, stat.stats_id) AS sp
WHERE modification_counter > 1000;
Voir aussi
Référence
DBCC SHOW_STATISTICS (Transact-SQL)
Fonctions et vues de gestion dynamique relatives aux objets (Transact-SQL)