sys.dm_os_volume_stats (Transact-SQL)

Возвращает сведения о томе (каталоге) операционной системы, в котором хранятся указанные базы данных и файлы SQL Server 2012. Используйте эту функцию динамического управления для проверки атрибутов физического диска или для получения сведений об объеме свободного пространства в каталоге.

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

Синтаксис

sys.dm_os_volume_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)

Логическое имя тома. Может возвращать пустую строку

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.

Примеры

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

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

См. также

Справочник

sys.master_files (Transact-SQL)

sys.database_files (Transact-SQL)