sys.database_files (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics

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 versões anteriores).
type 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 zero ou maior que zero. Um valor de representa o arquivo de log do 0 banco de dados e um valor maior que zero representa a ID do grupo de arquivos em que esse arquivo de dados está armazenado.
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 for 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 obter o local de arquivo correto de um banco de dados secundário legível, confira 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 de grupos de arquivos FILESTREAM, size 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 = O arquivo pode crescer até que o disco esteja cheio.
268435456 = O arquivo de log pode crescer até 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.
Bancos de dados atualizados com um relatório -1 de tamanho de arquivo de log ilimitado para o tamanho máximo do arquivo de log.
No Banco de Dados SQL do Azure, a soma dos valores de todos os arquivos de dados pode ser menor que o tamanho máximo de max_size dados do banco de dados. Use DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') para determinar o tamanho máximo dos dados.
growth int 0 = Arquivo tem tamanho fixo e não crescerá.

Maior que 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 é expresso como uma 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 = O nome do arquivo descartado (name ou physical_name) é reutilizável somente após o próximo backup de log. 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 Tempo correspondente a differential_base_lsn.
redo_start_lsn numeric(25,0) LSN no qual o próximo roll forward deve ser iniciado.

É NULL a menos queRESTORING = state ou .state = 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 esse 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.

É NULL a menos queRESTORING = state ou .state = RECOVERY_PENDING
redo_target_fork_guid uniqueidentifier A bifurcação de recuperação na qual o arquivo pode ser recuperado. Emparelhado com 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 reconstrói índices grandes, ou descarta ou trunca tabelas grandes, o Mecanismo de Banco de Dados adia as desalocações de página atuais e seus bloqueios associados, até depois que a transação confirme. Operações de cancelamento adiadas não libertam espaço alocado imediatamente. Portanto, os valores retornados imediatamente sys.database_files após descartar ou truncar um objeto grande podem não refletir o espaço em 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 as consultas de exemplo usando o Banco de Dados SQL, em Gerenciar espaço de arquivo para bancos de dados no Banco de Dados SQL do Azure. Você pode: