Compartir a través de


sys.dm_os_volume_stats (Transact-SQL)

Devuelve información sobre el volumen (directorio) del sistema operativo en que están almacenados los archivos y bases de datos especificados. Utilice esta función de administración dinámica de SQL Server 2008 R2 SP1 y versiones posteriores para comprobar los atributos de la unidad de disco física y obtener información sobre el espacio disponible en el directorio.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sys.dm_os_volumne_stats (database_id, file_id)

Argumentos

  • database_id
    Identificador de la base de datos. database_id es de tipo int y no tiene valor predeterminado. No puede ser NULL.

  • file_id
    Identificador del archivo. file_id es de tipo int y no tiene valor predeterminado. No puede ser NULL.

Tabla devuelta

Columna

Tipo de datos

Descripción

database_id

int

Identificador de la base de datos. No puede ser NULL.

file_id

int

Identificador del archivo. No puede ser NULL.

volume_mount_point

nvarchar(512)

Punto de montaje en el que el volumen tiene su raíz. Puede devolver una cadena vacía.

volume_id

nvarchar(512)

Identificador del volumen del sistema operativo. Puede devolver una cadena vacía.

logical_volume_name

nvarchar(512)

Nombre lógico del volumen. Puede devolver una cadena vacía.

file_system_type

nvarchar(512)

Tipo de volumen de sistema de archivos (por ejemplo NTFS, FAT, RAW). Puede devolver una cadena vacía.

total_bytes

bigint

Tamaño total del volumen en bytes. No puede ser NULL.

available_bytes

bigint

Espacio disponible del volumen. No puede ser NULL.

supports_compression

bit

Indica si el volumen admite la compresión del sistema operativo. No puede ser NULL.

supports_alternate_streams

bit

Indica si el volumen admite flujos alternativos. No puede ser NULL.

supports_sparse_files

bit

Indica si el volumen admite archivos dispersos. No puede ser NULL.

is_read_only

bit

Indica si el volumen está marcado actualmente como de solo lectura. No puede ser NULL.

is_compressed

bit

Indica si el volumen está comprimido actualmente. No puede ser NULL.

Seguridad

Permisos

Requiere el permiso VIEW SERVER STATE.

Ejemplos

A. Devolver el espacio total y el espacio disponible de todos los archivos de base de datos

El ejemplo siguiente devuelve el espacio total y el espacio disponible (en bytes) de todos los archivos de base de datos de la instancia de SQL Server.

SELECT f.database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.master_files AS f
CROSS APPLY sys.dm_os_volume_stats(f.database_id, f.file_id);

B. Devolver el espacio total y el espacio disponible de la base de datos actual

El ejemplo siguiente devuelve el espacio total y el espacio disponible (en bytes) de los archivos de base de datos de la base de datos actual.

SELECT database_id, f.file_id, volume_mount_point, total_bytes, available_bytes
FROM sys.database_files AS f
CROSS APPLY sys.dm_os_volume_stats(DB_ID(f.name), f.file_id);