Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Devolve informações sobre o volume do sistema operativo (diretório) onde as bases de dados e ficheiros especificados são armazenados no SQL Server. Utilize esta função de gestão dinâmica para verificar os atributos da unidade de disco física ou para devolver a informação disponível sobre o diretório.
Transact-SQL convenções de sintaxe
Sintaxe
sys.dm_os_volume_stats (database_id , file_id)
Argumentos
database_id
ID da base de dados.
database_id é int, sem padrão. Não pode ser NULL.
file_id
ID do ficheiro.
file_id é inteligência, sem padrão. Não pode ser NULL.
Tabela retornada
| Column | Tipo de dados | Description |
|---|---|---|
database_id |
int | ID da base de dados. Não anulável. |
file_id |
int | ID do ficheiro. Não anulável. |
volume_mount_point |
nvarchar(512) | Ponto de montagem onde o volume está enraizado. Pode devolver uma cadeia vazia. Devolve o Null no Linux. |
volume_id |
nvarchar(512) | ID de volume do sistema operativo. Pode devolver uma cadeia vazia. Devolve o Null no Linux. |
logical_volume_name |
nvarchar(512) | Nome lógico do volume. Pode devolver uma cadeia vazia. Devolve o Null no Linux. |
file_system_type |
nvarchar(512) | Tipo de volume do sistema de ficheiros (por exemplo, NTFS, FAT, RAW). Pode devolver uma cadeia vazia. Devolve o Null no Linux. |
total_bytes |
bigint | Tamanho total em bytes do volume. Não anulável. |
available_bytes |
bigint | Espaço disponível disponível no volume. Não anulável. |
supports_compression |
tinyint | Indica se o volume suporta compressão do sistema operativo. Não é nullável no Windows, e devolve null no Linux. |
supports_alternate_streams |
tinyint | Indica se o volume suporta fluxos alternativos. Não é nullável no Windows, e devolve null no Linux. |
supports_sparse_files |
tinyint | Indica se o volume suporta ficheiros esparsos. Não é nullável no Windows, e devolve null no Linux. |
is_read_only |
tinyint | Indica se o volume está atualmente marcado como apenas leitura. Não anulável. |
is_compressed |
tinyint | Indica se este volume está atualmente comprimido. Não é nullável no Windows, e devolve null no Linux. |
incurs_seek_penalty |
tinyint | Indica o tipo de armazenamento que suporta este volume. Os valores possíveis são:0: Não há penalização de procura neste volume, normalmente quando o dispositivo de armazenamento é PMM ou SSD1: penalização de procura neste volume, normalmente quando o dispositivo de armazenamento é HDD2: O tipo de armazenamento não pode ser determinado quando o volume está num caminho UNC ou em partilhas montadasNULL: O tipo de armazenamento não pode ser determinado no sistema operativo LinuxAplica-se a: SQL Server 2019 (15.x) e versões posteriores |
Permissions
O SQL Server 2019 (15.x) e versões anteriores exigem permissão de VIEW SERVER STATE no servidor.
O SQL Server 2022 (16.x) e versões posteriores exigem VIEW SERVER PERFORMANCE STATE permissão no servidor.
Examples
A. Devolver espaço total e espaço disponível para todos os ficheiros da base de dados
O exemplo seguinte devolve o espaço total e o espaço disponível (em bytes) para todos os ficheiros de base de dados na instância do 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 espaço total e espaço disponível para a base de dados atual
O exemplo seguinte devolve o espaço total e o espaço disponível (em bytes) para os ficheiros da base de dados na base de dados atual.
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);