Поделиться через


sys.dm_os_volume_stats (Transact-SQL)

Возвращает сведения о томе (каталоге) операционной системы, в котором хранятся указанные базы данных и файлы. Функция динамического управления в SQL Server 2008 R2 с пакетом обновления 1 (SP1) и более поздних версиях позволяет проверить атрибуты физического диска или получить информацию о доступном свободном месте для каталога.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sys.dm_os_volumne_stats (database_id, file_id)

Аргументы

  • database_id
    Идентификатор базы данных. Аргумент database_id имеет тип int и не имеет значения по умолчанию. Не может быть равен NULL.

  • file_id
    Идентификатор файла. Аргумент file_id имеет тип int и не имеет значения по умолчанию. Не может быть равен NULL.

Возвращаемая таблица

Столбец

Тип данных

Описание

database_id

int

Идентификатор базы данных. Не может быть равен null.

file_id

int

Идентификатор файла. Не может быть равен null.

volume_mount_point

nvarchar(512)

Точка подключения, с которой ассоциирован корень тома. Может возвращать пустую строку.

volume_id

nvarchar(512)

Идентификатор тома операционной системы. Может возвращать пустую строку

logical_volume_name

nvarchar(512)

Logical_volume_name. Может возвращать пустую строку

file_system_type

nvarchar(512)

Тип файловой системы тома (например, NTFS, FAT, RAW). Может возвращать пустую строку

total_bytes

bigint

Общий размер тома в байтах. Не может быть равен null.

available_bytes

bigint

Доступное свободное место тома. Не может быть равен null.

supports_compression

bit

Поддерживает ли том сжатие на уровне операционной системы. Не может быть равен null.

supports_alternate_streams

bit

Поддерживает ли том дополнительные потоки. Не может быть равен null.

supports_sparse_files

bit

Поддерживает ли том разреженные файлы. Не может быть равен null.

is_read_only

bit

Помечен ли том как доступный только для чтения. Не может быть равен null.

is_compressed

bit

Сжат ли том в настоящее время. Не может быть равен null.

Безопасность

Разрешения

Необходимо разрешение VIEW SERVER STATE.

Примеры

A. Получение сведений об общем и доступном пространстве для всех файлов баз данных

Следующий пример возвращает общее и доступное пространство (в байтах) для всех файлов баз данных имеющегося экземпляра 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);

Б. Получение сведений об общем и доступном пространстве для текущей базы данных

Следующий пример возвращает общее и доступное пространство (в байтах) для файлов текущей базы данных.

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);