Compartilhar via


sys.dm_os_volume_stats (Transact-SQL)

Retorna informações sobre o volume do sistema operacional (diretório) no qual os bancos de dados especificados e arquivos são armazenados. Use essa função de gerenciamento dinâmico no SQL Server 2008 R2 SP1 e versões posteriores para verificar os atributos da unidade de disco físico ou retornar informações de espaço livre disponível sobre o diretório.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

sys.dm_os_volumne_stats (database_id, file_id)

Argumentos

  • database_id
    ID do banco de dados. database_id é int, sem padrão. Não pode ser NULL.

  • file_id
    ID do arquivo. file_id é int, sem padrão. Não pode ser NULL.

Tabela Retornada

Coluna

Tipo de dados

Descrição

database_id

int

ID do banco de dados. Não pode ser nulo.

file_id

int

ID do arquivo. Não pode ser nulo.

volume_mount_point

nvarchar(512)

Ponto de montagem no qual o volume está na raiz. Não é possível retornar uma cadeia de caracteres vazia.

volume_id

nvarchar(512)

ID de volume do sistema operacional. Não é possível retornar uma cadeia de caracteres vazia

logical_volume_name

nvarchar(512)

Nome lógico do volume. Não é possível retornar uma cadeia de caracteres vazia

file_system_type

nvarchar(512)

Tipo de volume de sistema de arquivo (por exemplo, NTFS, FAT, RAW). Pode retornar uma cadeia de caracteres vazia

total_bytes

bigint

Tamanho total em bytes do volume. Não pode ser nulo.

available_bytes

bigint

Espaço em disco disponível no volume. Não pode ser nulo.

supports_compression

bit

Indica se o volume dá suporte a compressão do sistema operacional. Não pode ser nulo.

supports_alternate_streams

bit

Indica se o volume dá suporte a fluxos alternativos. Não pode ser nulo.

supports_sparse_files

bit

Indica se o volume dá suporte a arquivos esparsos. Não pode ser nulo.

is_read_only

bit

Indica se o volume está marcado como somente leitura no momento. Não pode ser nulo.

is_compressed

bit

Indica se esse volume está compactado no momento. Não pode ser nulo.

Segurança

Permissões

Requer a permissão VIEW SERVER STAT.

Exemplos

A. Retornar espaço total e disponível para todos os arquivos de banco de dados

O exemplo a seguir retorna o espaço total e disponível (em bytes) para todos os arquivos de banco 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. Retornar espaço total e disponível para o banco de dados atual

O exemplo a seguir retorna o espaço total e disponível (em bytes) para os arquivos de banco de dados no banco 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.name), f.file_id);