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.

Notes

Cette vue s'applique uniquement à la base de données tempdb.

Nom de la colonne

Type de données

Description

database_id

smallint

ID de la base de données

file_id

smallint

ID de fichier

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

unallocated_extent_page_count

bigint

Nombre total de pages dans les extensions non allouées du fichier. Pour plus d'informations, consultez Fonctionnement des pages et étendues.

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

version_store_reserved_page_count

bigint

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

Les pages IAM ne sont pas incluses parce qu'elles sont toujours allouées à partir d'extensions mixtes. Les pages PFS sont incluses si elles sont allouées à partir d'une extension 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'extensions uniformes pour les objets utilisateur de la base de données. Cette valeur inclut les pages non utilisées provenant d'une extension allouée.

Les pages IAM ne sont pas incluses parce qu'elles sont toujours allouées à partir d'extensions mixtes. Les pages PFS sont incluses si elles sont allouées à partir d'une extension 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'extensions uniformes allouées pour des objets internes dans le fichier. Cette valeur inclut les pages non utilisées provenant d'une extension allouée.

Les pages IAM ne sont pas incluses parce qu'elles sont toujours allouées à partir d'extensions mixtes. Les pages PFS sont incluses si elles sont allouées à partir d'une extension 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 extensions mixtes allouées du fichier. Les extensions mixtes contiennent des pages allouées à différents objets. Cette valeur comprend toutes les pages IAM du fichier.

Notes

Les pages sont toujours comptées au niveau des extensions. Les nombres de pages sont donc toujours des multiples de huit. Les extensions qui contiennent des pages d'allocation GAM (Global Allocation Map) et SGAM (Shared Global Allocation Map) sont des extensions 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 importante 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). Pour plus d'informations sur les pages SGAM, consultez Gestion des allocations des extensions et de l'espace libre.

Objets utilisateur

Les objets suivants sont inclus dans les compteurs de pages des objets utilisateur :

  • 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 de la relation

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

L'autorisation VIEW SERVER STATE est nécessaire sur le serveur.

Exemple

Pour obtenir des exemples utilisant la vue sys.dm_db_file_space_usage, consultez Résolution des problèmes d'espace disque insuffisant dans tempdb.