sys.dm_tran_version_store_space_usage (Transact-SQL)
Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (SP 2) и более поздних версий База данных SQL Azure Azure Synapse Analytics Analytics Platform System (PDW)
Возвращает таблицу, отображающую общее пространство в tempdb, используемое записями хранилища версий для каждой базы данных. sys.dm_tran_version_store_space_usage является эффективным и не дорогостоящим для выполнения, так как он не проходит по отдельным записям хранилища версий и возвращает совокупное пространство хранилища версий, потребляемое в tempdb для каждой базы данных.
Каждая версия записи хранится в виде двоичных данных вместе с некоторыми сведениями об отслеживании или состоянии. Как и в таблицах базы данных, записи в хранилище версий хранятся в страницах размером 8192 байта. Если размер записи превышает 8192 байта, она разбивается на две различные записи.
Так как запись версии хранится в двоичном виде, не возникает проблем с разными параметрами сортировки из разных баз данных. Используйте sys.dm_tran_version_store_space_usage для отслеживания и планирования размера tempdb на основе использования пространства в хранилище версий баз данных в экземпляре SQL Server.
Имя столбца | Тип данных | Description |
---|---|---|
database_id | int | Идентификатор базы данных. В База данных SQL Azure значения уникальны в одной базе данных или эластичном пуле, но не в логическом сервере. |
reserved_page_count | bigint | Общее количество страниц, зарезервированных в tempdb для записей хранилища версий базы данных. |
reserved_space_kb | bigint | Общее пространство, используемое в килобайтах в tempdb для записей хранилища версий базы данных. |
Разрешения
В SQL Server требуется разрешение VIEW SERVER STATE
.
Разрешения для SQL Server 2022 и более поздних версий
Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.
Примеры
Следующий запрос можно использовать для определения места, потребляемого в tempdb, по хранилищу версий каждой базы данных в экземпляре SQL Server.
SELECT
DB_NAME(database_id) as 'Database Name',
reserved_page_count,
reserved_space_kb
FROM sys.dm_tran_version_store_space_usage;
Вот результирующий набор.
Database Name reserved_page_count reserved_space_kb
------------------------ -------------------- -----------
msdb 0 0
AdventureWorks2022 10 80
AdventureWorks2022DW 0 0
WideWorldImporters 20 160
См. также
Динамические административные представления и функции (Transact-SQL)
Динамические административные представления и функции, связанные с транзакциями (Transact-SQL)