sys.dm_db_file_space_usage (Transact-SQL)

Retourne des informations sur l'utilisation de l'espace pour chaque fichier de la base de données.

Nom de colonne

Type de données

Description

database_id

smallint

ID de la base de données.

file_id

smallint

ID de fichier.

file_id correspond à file_id dans sys.dm_io_virtual_file_stats et à fileid dans sys.sysfiles.

filegroup_id

smallint

ID de groupe de fichiers.

total_page_count

bigint

Nombre total de pages dans le fichier.

allocated_extent_page_count

bigint

Nombre total de pages dans les étendues allouées du fichier.

unallocated_extent_page_count

bigint

Nombre total de pages dans les étendues non allouées du fichier.

Cette valeur ne comprend pas les pages inutilisées dans les étendues allouées.

version_store_reserved_page_count

bigint

Nombre total de pages dans les étendues uniformes allouées pour le magasin de versions. Les pages du magasin de versions ne sont jamais allouées à partir d'étendues mixtes.

Les pages IAM ne sont pas incluses parce qu'elles sont toujours allouées à partir d'étendues mixtes. Les pages PFS sont incluses si elles sont allouées à partir d'une étendue uniforme.

Pour plus d'informations, consultez sys.dm_tran_version_store (Transact-SQL).

user_object_reserved_page_count

bigint

Nombre total de pages allouées à partir d'étendues uniformes pour les objets utilisateur de la base de données. Ce nombre inclut les pages non utilisées provenant d'une étendue allouée.

Les pages IAM ne sont pas incluses parce qu'elles sont toujours allouées à partir d'étendues mixtes. Les pages PFS sont incluses si elles sont allouées à partir d'une étendue uniforme.

Vous pouvez utiliser la colonne total_pages de l'affichage catalogue sys.allocation_units pour obtenir le nombre de pages réservées de chaque unité d'allocation de l'objet utilisateur. Notez toutefois que la colonne total_pages inclut les pages IAM.

internal_object_reserved_page_count

bigint

Nombre total de pages d'étendues uniformes allouées pour des objets internes dans le fichier. Ce nombre inclut les pages non utilisées provenant d'une étendue allouée.

Les pages IAM ne sont pas incluses parce qu'elles sont toujours allouées à partir d'étendues mixtes. Les pages PFS sont incluses si elles sont allouées à partir d'une étendue uniforme.

Il n'existe pas d'affichage catalogue ni d'objet de gestion dynamique qui retourne le nombre de pages de chaque objet interne.

mixed_extent_page_count

bigint

Nombre total de pages allouées et non allouées dans les étendues mixtes allouées du fichier. Les étendues mixtes contiennent des pages allouées à différents objets. Ce nombre comprend toutes les pages IAM du fichier.

Notes

Le nombre de pages se situe toujours au niveau des étendues. Les nombres de pages sont donc toujours des multiples de huit. Les étendues qui contiennent des pages d'allocation GAM (Global Allocation Map) et SGAM (Shared Global Allocation Map) sont des étendues uniformes allouées. Elles ne sont pas incluses dans les nombres de pages décrits précédemment.

Le contenu du magasin de versions actuel se trouve dans sys.dm_tran_version_store. Le suivi des pages du magasin de versions n'est pas effectué au niveau des sessions et des tâches, mais au niveau des fichiers. En effet, il s'agit de ressources globales. Une session peut générer des versions, mais ces dernières ne peuvent pas être supprimées lorsque la session se termine. Le nettoyage du magasin de versions doit considérer la transaction la plus longue ayant besoin d'accéder à une version particulière. Vous pouvez déterminer la transaction la plus longue pour le nettoyage du magasin de versions en consultant la colonne elapsed_time_seconds dans sys.dm_tran_active_snapshot_database_transactions.

Des modifications fréquentes dans la colonne mixed_extent_page_count peuvent indiquer une utilisation intensive de pages SGAM. Le cas échéant, vous risquez d'observer un grand nombre d'attentes PAGELATCH_UP dans lesquelles la ressource d'attente est une page SGAM. Pour plus d'informations, consultez sys.dm_os_waiting_tasks (Transact-SQL), sys.dm_os_wait_stats (Transact-SQL) et sys.dm_os_latch_stats (Transact-SQL).

Objets utilisateur

Les objets suivants sont compris dans les compteurs de pages des objets utilisateurs :

  • les tables et les index définis par l'utilisateur ;

  • les tables et les index système ;

  • les tables temporaires globales et les index ;

  • les tables temporaires locales et les index ;

  • les variables de tables ;

  • les tables renvoyées dans les fonctions table.

Objets internes

Les objets internes se trouvent uniquement dans tempdb. Les objets suivants sont compris dans les compteurs de pages des objets internes :

  • Tables de travail pour les opérations du curseur ou du spool et le stockage d'objets volumineux (LOB) temporaires

  • Fichiers de travail pour les opérations telles que les jointures de hachage

  • Tris

Cardinalités des relations

De

Vers

Relation

sys.dm_db_file_space_usage.database_id, file_id

sys.dm_io_virtual_file_stats.database_id, file_id

Un à un

Autorisations

Nécessite l'autorisation VIEW SERVER STATE sur le serveur.

Voir aussi

Référence

Fonctions et vues de gestion dynamique (Transact-SQL)

Vues de gestion dynamique liées aux bases de données (Transact-SQL)

sys.dm_db_task_space_usage (Transact-SQL)

sys.dm_db_session_space_usage (Transact-SQL)