sys.database_files (Transact-SQL)

Aplica-se a: SQL Server (todas as versões com suporte) SQL do Azure Banco de Dados Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Contém uma fila por arquivo de um banco de dados, conforme armazenado no próprio banco de dados. Esta é uma exibição por banco de dados.

Nome da coluna Tipo de dados Descrição
file_id int ID do arquivo no banco de dados.
file_guid uniqueidentifier GUID do arquivo.

NULL = O banco de dados foi atualizado de uma versão anterior do SQL Server (válido para SQL Server 2005 e anteriores).
tipo tinyint Tipo de arquivo:

0 = Linhas

1 = Log

2 = FILESTREAM

3 = Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

4 = Texto completo
type_desc nvarchar(60) Descrição do tipo de arquivo:

ROWS

LOG

FILESTREAM

FULLTEXT
data_space_id int O valor pode ser 0 ou maior que 0. Um valor igual a 0 representa o arquivo de log do banco de dados, e um valor maior que 0 representa a ID do grupo de arquivos no qual os dados estão armazenados.
name sysname Nome lógico do arquivo no banco de dados.
Physical_name nvarchar(260) Nome de arquivo do sistema operacional. Se o banco de dados estiver hospedado por uma réplica secundária legível do grupo de disponibilidade, physical_name indicará o local do arquivo do banco de dados de réplica primária. Para o local correto do arquivo de um banco de dados secundário legível, consulte sys.sysaltfiles.
state tinyint Estado do arquivo:

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = Identificado apenas para fins informativos. Não há suporte. A compatibilidade futura não está garantida.

6 = OFFLINE

7 = DEFUNCT
state_desc nvarchar(60) Descrição do estado do arquivo:

ONLINE

RESTORING

RECOVERING

RECOVERY_PENDING

SUSPECT

OFFLINE

DEFUNCT

Para obter mais informações, consulte Estados de arquivo.
size int Tamanho atual do arquivo, em páginas de 8 KB.

0 = Não aplicável

Para um instantâneo do banco de dados, tamanho reflete o espaço máximo que o instantâneo poderá usar para o arquivo.

Para contêineres do grupo de arquivos FILESTREAM, o tamanho reflete o tamanho usado atual do contêiner.
Max_size int Tamanho de arquivo máximo, em páginas de 8 KB:

0 = Crescimento não é permitido.

-1 = Arquivo crescerá até que o disco esteja completo.

268435456 = Arquivo de log crescerá a um tamanho máximo de 2 TB.

Para contêineres de grupo de arquivos FILESTREAM, max_size reflete o tamanho máximo do contêiner.

Observe que os bancos de dados atualizados com um tamanho de arquivo de log ilimitado relatarão -1 para o tamanho máximo do arquivo de log.

Em SQL do Azure Banco de Dados, a soma de valores de max_size para todos os arquivos de dados pode ser menor que o tamanho máximo de dados para o banco de dados. Use para determinar o tamanho máximo dos DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') dados.
Crescimento int 0 = Arquivo tem tamanho fixo e não crescerá.

>0 = O arquivo crescerá automaticamente.

Se is_percent_growth = 0, o incremento de crescimento será em unidades de páginas de 8 KB, arredondadas para os 64 KB mais próximos.

Se is_percent_growth = 1, o incremento de crescimento será expresso em porcentagem de número inteiro.
is_media_read_only bit 1 = O arquivo está em mídia somente leitura.

0 = O arquivo está em mídia de leitura/gravação.
is_read_only bit 1 = Arquivo está marcado como somente leitura.

0 = O arquivo está marcado como leitura/gravação.
is_sparse bit 1 = O arquivo é um arquivo esparso.

0 = O arquivo não é um arquivo esparso.

Para obter mais informações, consulte Exibir o tamanho do arquivo esparso de um instantâneo de banco de dados (Transact-SQL).
is_percent_growth bit 1 = Crescimento do arquivo é uma porcentagem.

0 = Tamanho de crescimento absoluto em páginas.
is_name_reserved bit 1 = Nome de arquivo descartado (name ou physical_name) só é reutilizável após o backup de log seguinte. Quando arquivos são descartados de um banco de dados, os nomes lógicos ficam em um estado reservado até o próximo backup de log. Essa coluna é relevante apenas no modelo de recuperação completa ou no modelo de recuperação bulk-logged.
create_lsn numeric(25,0) Número de sequência de log (LSN) no qual o arquivo foi criado.
drop_lsn numeric(25,0) LSN no qual o arquivo foi descartado.

0 = O nome do arquivo não está disponível para ser usado novamente.
read_only_lsn numeric(25,0) LSN do grupo de arquivos que contém o arquivo alterado de leitura/gravação para somente leitura (a mudança mais recente).
read_write_lsn numeric(25,0) LSN no qual o grupo de arquivos que contém o arquivo foi alterado de somente leitura para leitura/gravação (a mudança mais recente).
differential_base_lsn numeric(25,0) Base para backups diferenciais. Extensões de dados alteradas depois desse LSN serão incluídas em um backup diferencial.
differential_base_guid uniqueidentifier Identificador exclusivo do backup de base no qual um backup diferencial será baseado.
differential_base_time datetime Hora que corresponde a differential_base_lsn.
redo_start_lsn numeric(25,0) LSN no qual o próximo roll forward deve ser iniciado.

Será NULL a menos que estado = RESTORING ou estado = RECOVERY_PENDING.
redo_start_fork_guid uniqueidentifier O identificador exclusivo da bifurcação da recuperação. O first_fork_guid do próximo backup de log restaurado deve corresponder a este valor. Isso representa o estado atual do arquivo.
redo_target_lsn numeric(25,0) LSN no qual a rolagem para frente online neste arquivo pode ser interrompida.

Será NULL a menos que estado = RESTORING ou estado = RECOVERY_PENDING.
redo_target_fork_guid uniqueidentifier A bifurcação de recuperação na qual o arquivo pode ser recuperado. Associado a redo_target_lsn.
backup_lsn numeric(25,0) O LSN do backup de dados ou diferencial mais recente do arquivo.

Observação

Quando você descarta ou recompila índices grandes, ou descarta ou trunca tabelas grandes, o Mecanismo de Banco de Dados adia as desalocações de página reais e seus bloqueios associados, até que a transação seja confirmada. Operações de cancelamento adiadas não libertam espaço alocado imediatamente. Portanto, os valores retornados por sys.database_files, imediatamente depois de descartar ou truncar um objeto grande podem não refletir o espaço de disco real disponível.

Permissões

Requer associação à função pública . Para obter mais informações, consulte Metadata Visibility Configuration.

Exemplos

A instrução a seguir retorna o nome, o tamanho do arquivo e a quantidade de espaço vazio para cada arquivo de banco de dados.

SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 
   AS EmptySpaceInMB
FROM sys.database_files;

Encontre consultas de exemplo usando Banco de Dados SQL, em Gerenciar espaço de arquivo para bancos de dados no Banco de Dados SQL do Azure. Você pode:

Próximas etapas

Saiba mais sobre conceitos relacionados nos seguintes artigos: