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-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, 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.
См. также