sys.dm_db_file_space_usage (Transact-SQL)

Возвращает сведения о том, сколько места на диске занимает каждый из файлов базы данных.

ПримечаниеПримечание

Это представление применимо только к базе данных tempdb.

Имя столбца

Тип данных

Описание

database_id

smallint

Идентификатор базы данных.

file_id

smallint

Идентификатор файла.

Значение file_id сопоставляется со значением file_id в sys.dm_io_virtual_file_stats и со значением fileid в sys.sysfiles.

unallocated_extent_page_count

bigint

Общее количество страниц в свободных экстентах файла. Дополнительные сведения см. в разделе Страницы и экстенты.

Неиспользованные страницы в размещенные экстенты не включаются.

version_store_reserved_page_count

bigint

Общее количество страниц в однородных экстентах, размещенных для хранилища версий. Страницы хранилища версий никогда не размещаются из смешанных экстентов.

IAM-страницы не включаются, так как они всегда размещаются из смешанных экстентов. PFS-страницы включаются в том случае, если они выделены из однородного экстента.

Дополнительные сведения см. в разделе sys.dm_tran_version_store.

user_object_reserved_page_count

bigint

Общее количество страниц, выделенных из однородных экстентов для пользовательских объектов в базе данных. Неиспользуемые страницы из размещенного экстента включаются в счет.

IAM-страницы не включаются, так как они всегда размещаются из смешанных экстентов. PFS-страницы включаются в том случае, если они выделены из однородного экстента.

Столбец total_pages в представлении каталога sys.allocation_units может быть использован для получения счетчика зарезервированных страниц каждой единицы распределения в пользовательском объекте. Но учтите, что столбец total_pages включает IAM-страницы.

internal_object_reserved_page_count

bigint

Общее количество страниц в однородном экстенте, размещенных для внутренних объектов в файле. Неиспользуемые страницы из распределенного экстента включаются в счет.

IAM-страницы не включаются, так как они всегда размещаются из смешанных экстентов. PFS-cтраницы включаются, если они размещаются из однородного кластера.

Не существует представления каталога или объекта DMO, возвращающего счетчик страниц каждого внутреннего объекта.

mixed_extent_page_count

bigint

Общее количество размещенных и освобожденных страниц в размещенном смешанном экстенте. Смешанный экстент содержит страницы, размещенные для различных объектов. Этот счетчик включает все IAM-страницы в файле.

Замечания

Счетчики страниц всегда находятся на уровне экстента. Поэтому значения счетчиков страниц всегда будут кратными восьми. Экстенты, содержащие страницы глобальной карты распределения (GAM) и общей глобальной карты распределения (SGAM), являются размещенными однородными экстентами. Они не включаются в вышеописанные счетчики страниц.

Содержание текущего хранилища версий находится в sys.dm_tran_version_store. Страницы хранилища версий отслеживаются на уровне файла вместо уровня сеанса и уровня задачи, потому что они являются глобальными ресурсами. Сеанс может создавать версии, но версии не могут быть удалены, когда сеанс заканчивается. При очистке хранилища версий необходимо рассмотреть наиболее долго выполняющуюся транзакцию, которой нужен доступ к определенной версии. Наиболее долго выполняющуюся транзакцию, связанную с очисткой хранилища версий, можно найти путем просмотра столбца elapsed_time_seconds в sys.dm_tran_active_snapshot_database_transactions.

Частые изменения в столбце mixed_extent_page_count могут указывать на высокую загрузку при использовании SGAM-страниц. Когда это происходит, можно обнаружить много ожиданий PAGELATCH_UP, в которых ресурсом ожидания является SGAM-страница. Дополнительные сведения см. в разделах sys.dm_os_waiting_tasks (Transact-SQL), sys.dm_os_wait_stats (Transact-SQL) и sys.dm_os_latch_stats (Transact-SQL). Дополнительные сведения о SGAM-страницах см. в разделе Управление размещением экстента и свободным местом.

Пользовательские объекты

Следующие объекты включаются в счетчики страниц пользовательских объектов:

  • Пользовательские таблицы и индексы

  • Системные таблицы и индексы

  • Глобальные временные таблицы и индексы

  • Локальные временные таблицы и индексы

  • Табличные переменные

  • Таблицы, возвращаемые в возвращающих табличное значение функциях

Внутренние объекты

Внутренние объекты находятся только в базе данных tempdb. Следующие объекты включаются в счетчики страниц внутренних объектов:

  • рабочие таблицы для выполнения операций с курсорами и буферами, а также для хранения временных больших объектов (LOB);

  • рабочие файлы для таких операций, как хэш-соединение;

  • запуски сортировок.

Мощности связей

От

К

Связь

sys.dm_db_file_space_usage.database_id, file_id

sys.dm_io_virtual_file_stats.database_id, file_id

Один к одному

Разрешения

Требуется разрешение VIEW SERVER STATE для сервера.

Примеры

Для просмотра примеров, использующих представление sys.dm_db_file_space_usage, см. в разделе Устранение неполадок, связанных с нехваткой места на диске для базы данных tempdb.