sys.database_files (Transact-SQL)sys.database_files (Transact-SQL)

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Contém uma fila por arquivo de um banco de dados, conforme armazenado no próprio banco de dados.Contains a row per file of a database as stored in the database itself. Esta é uma exibição por banco de dados.This is a per-database view.

Nome da colunaColumn name Tipo de dadosData type DescriçãoDescription
file_idfile_id intint ID do arquivo no banco de dados.ID of the file within database.
file_guidfile_guid uniqueidentifieruniqueidentifier GUID do arquivo.GUID for the file.

NULL = o banco de dados foi atualizado de uma versão anterior do SQL ServerSQL Server (válido para SQL Server 2005 e anterior).NULL = Database was upgraded from an earlier version of SQL ServerSQL Server (Valid for SQL Server 2005 and earlier).
tipotype tinyinttinyint Tipo de arquivo:File type:

0 = linhas0 = Rows

1 = Log1 = Log

2 = FILESTREAM2 = FILESTREAM

3 = Identificado apenas para fins informativos.Identified for informational purposes only. Sem suporte.Not supported. A compatibilidade futura não está garantida.Future compatibility is not guaranteed.3 = Identificado apenas para fins informativos.Identified for informational purposes only. Sem suporte.Not supported. A compatibilidade futura não está garantida.Future compatibility is not guaranteed.

4 = texto completo4 = Full-text
type_desctype_desc nvarchar(60)nvarchar(60) Descrição do tipo de arquivo:Description of the file type:

ROWSROWS

LOGLOG

FILESTREAMFILESTREAM

FULLTEXTFULLTEXT
data_space_iddata_space_id intint O valor pode ser 0 ou maior que 0.Value can be 0 or greater than 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.A value of 0 represents the database log file, and a value greater than 0 represents the ID of the filegroup where this data file is stored.
namename sysnamesysname Nome lógico do arquivo no banco de dados.Logical name of the file in the database.
physical_namephysical_name nvarchar(260)nvarchar(260) Nome de arquivo do sistema operacional.Operating-system file name. Se o banco de dados for hospedado por uma réplica secundária legívelAlwaysOn, physical_name indicará o local do arquivo do banco de dados de réplica primária.If the database is hosted by an AlwaysOn readable secondary replica, physical_name indicates the file location of the primary replica database. Para o local de arquivo correto de um banco de dados secundário legível, consulte Sys. sysaltfiles.For the correct file location of a readable secondary database, query sys.sysaltfiles.
statestate tinyinttinyint Estado do arquivo:File state:

0 = ONLINE0 = ONLINE

1 = RESTORING1 = RESTORING

2 = RECOVERING2 = RECOVERING

3 = RECOVERY_PENDING3 = RECOVERY_PENDING

4 = SUSPECT4 = SUSPECT

5 = Identificado apenas para fins informativos.Identified for informational purposes only. Sem suporte.Not supported. A compatibilidade futura não está garantida.Future compatibility is not guaranteed.5 = Identificado apenas para fins informativos.Identified for informational purposes only. Sem suporte.Not supported. A compatibilidade futura não está garantida.Future compatibility is not guaranteed.

6 = OFFLINE6 = OFFLINE

7 = DEFUNCT7 = DEFUNCT
state_descstate_desc nvarchar(60)nvarchar(60) Descrição do estado do arquivo:Description of the file state:

ONLINEONLINE

RESTORINGRESTORING

RECOVERINGRECOVERING

RECOVERY_PENDINGRECOVERY_PENDING

SUSPECTSUSPECT

OFFLINEOFFLINE

DEFUNCTDEFUNCT

Para obter mais informações, consulte Estados de arquivo.For more information, see File States.
sizesize intint Tamanho atual do arquivo, em páginas de 8 KB.Current size of the file, in 8-KB pages.

0 = Não aplicável0 = Not applicable

Para um instantâneo do banco de dados, tamanho reflete o espaço máximo que o instantâneo poderá usar para o arquivo.For a database snapshot, size reflects the maximum space that the snapshot can ever use for the file.

Para contêineres de grupo de arquivos FILESTREAM, o tamanho reflete o tamanho atual usado do contêiner.For FILESTREAM filegroup containers, size reflects the current used size of the container.
max_sizemax_size intint Tamanho de arquivo máximo, em páginas de 8 KB:Maximum file size, in 8-KB pages:

0 = Crescimento não é permitido.0 = No growth is allowed.

-1 = Arquivo crescerá até que o disco esteja completo.-1 = File will grow until the disk is full.

268435456 = Arquivo de log crescerá a um tamanho máximo de 2 TB.268435456 = Log file will grow to a maximum size of 2 TB.

Para contêineres de grupo de arquivos FILESTREAM, max_size reflete o tamanho máximo do contêiner.For FILESTREAM filegroup containers, max_size reflects the maximum size of the container.

Observe que os bancos de dados que são atualizados com um tamanho de arquivo de log ilimitado relatarão-1 para o tamanho máximo do arquivo de log.Note that databases that are upgraded with an unlimited log file size will report -1 for the maximum size of the log file.
growthgrowth intint 0 = Arquivo tem tamanho fixo e não crescerá.0 = File is fixed size and will not grow.

> 0 = o arquivo aumentará automaticamente.>0 = File will grow automatically.

Se is_percent_growth = 0, o incremento de crescimento estará em unidades de 8 KB de páginas, arredondado para o 64 KB mais próximo.If is_percent_growth = 0, growth increment is in units of 8-KB pages, rounded to the nearest 64 KB.

Se is_percent_growth = 1, o incremento de crescimento será expresso em porcentagem de número inteiro.If is_percent_growth = 1, growth increment is expressed as a whole number percentage.
is_media_read_onlyis_media_read_only bitbit 1 = O arquivo está em mídia somente leitura.1 = File is on read-only media.

0 = O arquivo está em mídia de leitura/gravação.0 = File is on read-write media.
is_read_onlyis_read_only bitbit 1 = Arquivo está marcado como somente leitura.1 = File is marked read-only.

0 = O arquivo está marcado como leitura/gravação.0 = File is marked read/write.
is_sparseis_sparse bitbit 1 = O arquivo é um arquivo esparso.1 = File is a sparse file.

0 = O arquivo não é um arquivo esparso.0 = File is not a sparse file.

Para obter mais informações, consulte Exibir o tamanho do arquivo esparso de um instantâneo de banco de dados (Transact-SQL).For more information, see View the Size of the Sparse File of a Database Snapshot (Transact-SQL).
is_percent_growthis_percent_growth bitbit 1 = Crescimento do arquivo é uma porcentagem.1 = Growth of the file is a percentage.

0 = Tamanho de crescimento absoluto em páginas.0 = Absolute growth size in pages.
is_name_reservedis_name_reserved bitbit 1 = Nome de arquivo descartado (name ou physical_name) só é reutilizável após o backup de log seguinte.1 = Dropped file name (name or physical_name) is reusable only after the next log backup. 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.When files are dropped from a database, the logical names stay in a reserved state until the next log backup. Essa coluna é relevante apenas no modelo de recuperação completa ou no modelo de recuperação bulk-logged.This column is relevant only under the full recovery model and the bulk-logged recovery model.
create_lsncreate_lsn numeric(25,0)numeric(25,0) Número de sequência de log (LSN) no qual o arquivo foi criado.Log sequence number (LSN) at which the file was created.
drop_lsndrop_lsn numeric(25,0)numeric(25,0) LSN no qual o arquivo foi descartado.LSN at which the file was dropped.

0 = O nome do arquivo não está disponível para ser usado novamente.0 = The file name is unavailable for reuse.
read_only_lsnread_only_lsn numeric(25,0)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).LSN at which the filegroup that contains the file changed from read/write to read-only (most recent change).
read_write_lsnread_write_lsn numeric(25,0)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).LSN at which the filegroup that contains the file changed from read-only to read/write (most recent change).
differential_base_lsndifferential_base_lsn numeric(25,0)numeric(25,0) Base para backups diferenciais.Base for differential backups. Extensões de dados alteradas depois desse LSN serão incluídas em um backup diferencial.Data extents changed after this LSN will be included in a differential backup.
differential_base_guiddifferential_base_guid uniqueidentifieruniqueidentifier Identificador exclusivo do backup de base no qual um backup diferencial será baseado.Unique identifier of the base backup on which a differential backup will be based.
differential_base_timedifferential_base_time datetimedatetime Hora que corresponde a differential_base_lsn.Time corresponding to differential_base_lsn.
redo_start_lsnredo_start_lsn numeric(25,0)numeric(25,0) LSN no qual o próximo roll forward deve ser iniciado.LSN at which the next roll forward must start.

Será NULL a menos que estado = RESTORING ou estado = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_start_fork_guidredo_start_fork_guid uniqueidentifieruniqueidentifier O identificador exclusivo da bifurcação da recuperação.Unique identifier of the recovery fork. O first_fork_guid do próximo backup de log restaurado deve corresponder a este valor.The first_fork_guid of the next log backup restored must match this value. Isso representa o estado atual do arquivo.This represents the current state of the file.
redo_target_lsnredo_target_lsn numeric(25,0)numeric(25,0) LSN no qual a rolagem para frente online neste arquivo pode ser interrompida.LSN at which the online roll forward on this file can stop.

Será NULL a menos que estado = RESTORING ou estado = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_target_fork_guidredo_target_fork_guid uniqueidentifieruniqueidentifier A bifurcação de recuperação na qual o arquivo pode ser recuperado.The recovery fork on which the file can be recovered. Associado a redo_target_lsn.Paired with redo_target_lsn.
backup_lsnbackup_lsn numeric(25,0)numeric(25,0) O LSN do backup de dados ou diferencial mais recente do arquivo.The LSN of the most recent data or differential backup of the file.

Observação

Quando você descarta ou reconstrói índices grandes, ou descarta ou trunca tabelas grandes, o Mecanismo de Banco de DadosDatabase Engine adia as desalocações de página atuais e seus bloqueios associados, até depois que a transação confirme.When you drop or rebuild large indexes, or drop or truncate large tables, the Mecanismo de Banco de DadosDatabase Engine defers the actual page deallocations, and their associated locks, until after the transaction commits. Operações de cancelamento adiadas não libertam espaço alocado imediatamente.Deferred drop operations do not release allocated space immediately. 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.Therefore, the values returned by sys.database_files immediately after dropping or truncating a large object may not reflect the actual disk space available.

PermissõesPermissions

Requer associação à função pública .Requires membership in the public role. Para obter mais informações, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

ExemplosExamples

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.The following statement returns the name, file size, and the amount of empty space for each database file.

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

Para obter mais informações ao usar Banco de Dados SQLSQL Database, consulte determinando o tamanho do banco de dados no banco de dados SQL do Azure V12 no blog da equipe de consultoria do cliente do SQL.For more information when using Banco de Dados SQLSQL Database, see Determining Database Size in Azure SQL Database V12 on the SQL Customer Advisory Team blog.

Consulte tambémSee Also

Exibição de catálogo do bancos de dados e de arquivos (Transact-SQL) Databases and Files Catalog Views (Transact-SQL)
Estados de arquivo File States
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
sys.master_files (Transact-SQL) sys.master_files (Transact-SQL)
Arquivos e grupos de arquivos do banco de dados Database Files and Filegroups
sys.data_spaces (Transact-SQL)sys.data_spaces (Transact-SQL)