Compartir vía


sys.dm_tran_version_store_space_usage (Transact-SQL)

Se aplica a: SQL Server 2016 (13.x) SP 2 y versiones posteriores Azure SQL Database No compatible. Azure Synapse Analytics No compatible. Analytics Platform System (PDW)

Devuelve una tabla que muestra el espacio total en tempdb utilizado por los registros del almacén de versiones para cada base de datos. sys.dm_tran_version_store_space_usage es eficaz y no es costoso ejecutarse, ya que no navega por los registros individuales del almacén de versiones y devuelve el espacio de almacenamiento de versiones agregado consumido en tempdb por base de datos.

Cada registro con versiones se almacena como datos binarios, junto con alguna información de seguimiento o estado. Al igual que los registros en tablas de base de datos, los registros del almacén de versiones se almacenan en páginas de 8.192 bytes. Si un registro supera los 8.192 bytes, se dividirá en dos registros diferentes.

Puesto que el registro de versiones se almacena como binario, no existen problemas con las diferentes intercalaciones de bases de datos distintas. Use sys.dm_tran_version_store_space_usage para supervisar y planear el tamaño de tempdb en función del uso del espacio de almacenamiento de versiones de las bases de datos en una instancia de SQL Server.

Nombre de la columna Tipo de datos Descripción
database_id int Id. de base de datos de la base de datos.

En Azure SQL Database, los valores son únicos dentro de una base de datos única o un grupo elástico, pero no dentro de un servidor lógico.
reserved_page_count bigint Recuento total de las páginas reservadas en tempdb para los registros de almacén de versiones de la base de datos.
reserved_space_kb bigint Espacio total usado en kilobytes en tempdb para los registros del almacén de versiones de la base de datos.

Permisos

En SQL Server, se requiere el permiso VIEW SERVER STATE.

Permisos para SQL Server 2022 y versiones posteriores

Requiere el permiso VER ESTADO DE RENDIMIENTO DEL SERVIDOR en el servidor.

Ejemplos

La consulta siguiente se puede usar para determinar el espacio consumido en tempdb, por almacén de versiones de cada base de datos de una instancia de SQL Server.

SELECT 
  DB_NAME(database_id) as 'Database Name',
  reserved_page_count,
  reserved_space_kb 
FROM sys.dm_tran_version_store_space_usage;  

Este es el conjunto de resultados.

Database Name            reserved_page_count reserved_space_kb  
------------------------ -------------------- -----------  
msdb                      0                    0             
AdventureWorks2022        10                   80             
AdventureWorks2022DW      0                    0             
WideWorldImporters        20                   160             

Consulte también

Funciones y vistas de administración dinámica (Transact-SQL)
Funciones y vistas de administración dinámica relacionadas con transacciones (Transact-SQL)