sys.dm_db_file_space_usage (Transact-SQL)

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

Имя столбца

Тип данных

Описание

database_id

smallint

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

file_id

smallint

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

Столбец file_id сопоставляется со столбцом file_id в представлении sys.dm_io_virtual_file_stats и столбцом fileid в представлении sys.sysfiles.

filegroup_id

smallint

FILEGROUP_ID.

total_page_count

bigint

Общее число страниц в файле.

allocated_extent_page_count

bigint

Общее количество страниц в несвободных экстентах файла.

unallocated_extent_page_count

bigint

Общее количество страниц в свободных экстентах файла.

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

version_store_reserved_page_count

bigint

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

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

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

user_object_reserved_page_count

bigint

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

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

Можно использовать столбец 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).

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

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

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

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

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

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

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

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

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

Внутренние объекты хранятся только в базе данных 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 на сервере.

См. также

Справочник

Динамические административные представления и функции (Transact-SQL)

Динамические административные представления базы данных (Transact-SQL)

sys.dm_db_task_space_usage (Transact-SQL)

sys.dm_db_session_space_usage (Transact-SQL)