sys.dm_os_volume_stats (Transact-SQL)
Применимо к:SQL Server
Возвращает сведения о томе операционной системы (каталоге), в котором хранятся указанные базы данных и файлы в SQL Server. Используйте эту функцию динамического управления для проверки атрибутов физического диска или для получения сведений об объеме свободного пространства в каталоге.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sys.dm_os_volume_stats (database_id, file_id)
Аргументы
database_id
Идентификатор базы данных. Аргумент database_id имеет тип int и не имеет значения по умолчанию. Не может быть NULL.
file_id
Идентификатор файла. file_id не используется без значения по умолчанию. Не может быть NULL.
Возвращаемая таблица
Column | Тип данных | Описание |
---|---|---|
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 | Указывает, поддерживает ли том сжатие на уровне операционной системы. Не удается иметь значение NULL в Windows и возвращает значение NULL в операционной системе Linux. |
supports_alternate_streams | tinyint | Указывает, поддерживает ли том дополнительные потоки. Не удается иметь значение NULL в Windows и возвращает значение NULL в операционной системе Linux. |
supports_sparse_files | tinyint | Указывает, поддерживает ли том разреженные файлы. Не удается иметь значение NULL в Windows и возвращает значение NULL в операционной системе Linux. |
is_read_only | tinyint | Указывает, помечен ли том как доступный только для чтения. Не может иметь значение null. |
is_compressed | tinyint | Указывает, сжат ли том в настоящее время. Не удается иметь значение NULL в Windows и возвращает значение NULL в операционной системе Linux. |
incurs_seek_penalty | tinyint | Указывает тип хранилища, поддерживающего этот том. Возможны следующие значения: 0. Не требуется штрафа на этом томе, как правило, если устройство хранения — PMM или SSD 1. Поиск штрафа на этом томе, как правило, когда устройство хранения является HDD 2. Тип хранилища не может быть определен, если том находится на пути UNC или подключенных общих ресурсах NULL: тип хранилища не может быть определен в операционной системе Linux Область применения: SQL Server (начиная с SQL Server 2019 (15.x)) |
Безопасность
Разрешения
Требуется разрешение VIEW SERVER STATE
.
Разрешения для SQL Server 2022 и более поздних версий
Требуется разрешение VIEW SERVER PERFORMANCE 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);
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.name), f.file_id);
См. также
sys.master_files (Transact-SQL)
sys.database_files (Transact-SQL)
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по