Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
Возвращает информацию о томе операционной системы (каталоге), на котором хранятся указанные базы данных и файлы в SQL Server. Используйте эту функцию динамического управления, чтобы проверить атрибуты физического дисковода или вернуть доступную информацию о свободном пространстве в каталоге.
Соглашения о синтаксисе Transact-SQL
Syntax
sys.dm_os_volume_stats (database_id , file_id)
Аргументы
database_id
Идентификатор базы данных. Аргумент database_id имеет тип int и не имеет значения по умолчанию. Не может быть NULL.
file_id
Идентификатор файла.
file_id не используется без значения по умолчанию. Не может быть NULL.
Таблица возвращена
| колонна | Тип данных | Description |
|---|---|---|
database_id |
int | Идентификатор базы данных. Не допускает значения NULL. |
file_id |
int | Идентификатор файла. Не допускает значения NULL. |
volume_mount_point |
nvarchar(512) | Точка крепления, в которую корнётся громкость. Может вернуть пустую строку. Возвращает null на Linux. |
volume_id |
nvarchar(512) | Идентификатор тома операционной системы. Может вернуть пустую строку. Возвращает null на Linux. |
logical_volume_name |
nvarchar(512) | Логичное название тома. Может вернуть пустую строку. Возвращает null на Linux. |
file_system_type |
nvarchar(512) | Тип тома файловой системы (например, NTFS, FAT, RAW). Может вернуть пустую строку. Возвращает null на Linux. |
total_bytes |
bigint | Общий размер в байтах тома. Не допускает значения NULL. |
available_bytes |
bigint | Свободное место на томе. Не допускает значения NULL. |
supports_compression |
tinyint | Указывает, поддерживает ли том сжатие операционной системы. В Windows он не обнуливает и возвращает null на Linux. |
supports_alternate_streams |
tinyint | Показывает, поддерживает ли объем альтернативные потоки. В Windows он не обнуливает и возвращает null на Linux. |
supports_sparse_files |
tinyint | Указывает, поддерживает ли том разредённые файлы. В Windows он не обнуливает и возвращает null на Linux. |
is_read_only |
tinyint | Указывает, помечен ли том как только для чтения. Не допускает значения NULL. |
is_compressed |
tinyint | Указывает, сжат ли этот объём в данный момент. В Windows он не обнуливает и возвращает null на Linux. |
incurs_seek_penalty |
tinyint | Указывает тип хранилища, поддерживающего этот объём. Возможны следующие значения:0: Нет штрафа за поиск на этом томе, обычно если устройство хранения — PMM или SSD1: Искать штраф на этом томе, обычно если устройство хранения — HDD2: Тип хранилища нельзя определить, когда объем находится на UNC пути или на монтированных sharesNULL: Тип хранилища нельзя определить на операционной системе LinuxОбласть применения: SQL Server 2019 (15.x) и более поздних версий |
Permissions
ДЛЯ SQL Server 2019 (15.x) и более ранних версий требуется VIEW SERVER STATE разрешение на сервере.
SQL Server 2022 (16.x) и более поздние версии требуют наличия разрешения VIEW SERVER PERFORMANCE STATE на сервере.
Examples
А. Вернуть общее пространство и доступное пространство для всех файлов базы данных
Следующий пример возвращает общее пространство и доступное пространство (в байтах) для всех файлов базы данных в экземпляре 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. Вернуть общее пространство и доступное пространство для текущей базы данных
Следующий пример возвращает общее пространство и доступное пространство (в байтах) для файлов базы данных в текущей базе данных.
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.file_id);