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

SE APLICA A: síSQL Server síAzure SQL Database síAzure SQL Data Warehouse síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Contiene una fila por cada archivo de una base de datos como se almacena en la propia base de datos.Contains a row per file of a database as stored in the database itself. Es una vista por base de datos.This is a per-database view.

Nombre de columnaColumn name Tipo de datosData type DescripciónDescription
file_idfile_id intint Identificador del archivo dentro de la base de datos.ID of the file within database.
file_guidfile_guid uniqueidentifieruniqueidentifier GUID del archivo.GUID for the file.

NULL = La base de datos se actualizó desde una versión anterior de SQL ServerSQL Server.NULL = Database was upgraded from an earlier version of SQL ServerSQL Server.
typetype tinyinttinyint Tipo de archivo:File type:

0 = Filas (incluye archivos de catálogos de texto completo que se han creado en SQL Server 2017SQL Server 2017 o actualizado a esta versión).0 = Rows (Includes files of full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017.)

1 = Registro1 = Log

2 = FILESTREAM2 = FILESTREAM

3 = Solamente se identifica con fines informativos.Identified for informational purposes only. No compatible.Not supported. La compatibilidad con versiones posteriores no está garantizada.Future compatibility is not guaranteed.3 = Solamente se identifica con fines informativos.Identified for informational purposes only. No compatible.Not supported. La compatibilidad con versiones posteriores no está garantizada.Future compatibility is not guaranteed.

4 = Texto completo (catálogos de texto completo anteriores a SQL Server 2017SQL Server 2017; los catálogos de texto completo creados en SQL Server 2017SQL Server 2017 o actualizados a esta versión notificarán un tipo de archivo 0).4 = Full-text (Full-text catalogs earlier than SQL Server 2017SQL Server 2017; full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017 will report a file type 0.)
type_desctype_desc nvarchar(60)nvarchar(60) Descripción del tipo de archivo:Description of the file type:

ROWS (incluye archivos de catálogos de texto completo que se han creado en SQL Server 2017SQL Server 2017 o actualizado a esta versión).ROWS (Includes files of full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017.)

LOGLOG

FILESTREAMFILESTREAM

FULLTEXT (catálogos de texto completo anteriores a SQL Server 2017SQL Server 2017).FULLTEXT (Full-text catalogs earlier than SQL Server 2017SQL Server 2017.)
data_space_iddata_space_id intint El valor puede ser 0 o mayor que 0.Value can be 0 or greater than 0. El valor 0 representa el archivo de registro de base de datos y un valor mayor que 0, el identificador del grupo de archivos donde está almacenado este archivo de datos.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 Nombre lógico del archivo de la base de datos.Logical name of the file in the database.
physical_namephysical_name nvarchar(260)nvarchar(260) Nombre del archivo del sistema operativo.Operating-system file name. Si la base de datos está hospedada por un AlwaysOn réplica secundaria legible, physical_name indica la ubicación del archivo de la base de datos de la réplica principal.If the database is hosted by an AlwaysOn readable secondary replica, physical_name indicates the file location of the primary replica database. Para la ubicación correcta del archivo de base de datos secundaria legible, consultar sys.sysaltfiles.For the correct file location of a readable secondary database, query sys.sysaltfiles.
statestate tinyinttinyint Estado del archivo:File state:

0 = Con conexión0 = ONLINE

1 = En restauración1 = RESTORING

2 = En recuperación2 = RECOVERING

3 = RECOVERY_PENDING3 = RECOVERY_PENDING

4 = Sospechoso4 = SUSPECT

5 = Solamente se identifica con fines informativos.Identified for informational purposes only. No compatible.Not supported. La compatibilidad con versiones posteriores no está garantizada.Future compatibility is not guaranteed.5 = Solamente se identifica con fines informativos.Identified for informational purposes only. No compatible.Not supported. La compatibilidad con versiones posteriores no está garantizada.Future compatibility is not guaranteed.

6 = Sin conexión6 = OFFLINE

7 = Inactivo7 = DEFUNCT
state_descstate_desc nvarchar(60)nvarchar(60) Descripción del estado del archivo:Description of the file state:

ONLINEONLINE

RESTORINGRESTORING

RECOVERINGRECOVERING

RECOVERY_PENDINGRECOVERY_PENDING

SUSPECTSUSPECT

OFFLINEOFFLINE

DEFUNCTDEFUNCT

Para más información, vea Estados de los archivos.For more information, see File States.
sizesize intint Tamaño actual de archivo, en páginas de 8 KB.Current size of the file, in 8-KB pages.

0 = No aplicable.0 = Not applicable

En una instantánea de base de datos, size refleja el espacio máximo que la instantánea puede utilizar para el archivo.For a database snapshot, size reflects the maximum space that the snapshot can ever use for the file.

Contenedores de grupo de archivos FILESTREAM, tamaño refleja que actual utiliza el tamaño del contenedor.For FILESTREAM filegroup containers, size reflects the current used size of the container.
max_sizemax_size intint Tamaño máximo del archivo, en páginas de 8 KB:Maximum file size, in 8-KB pages:

0 = No se permite el crecimiento.0 = No growth is allowed.

-1 = El archivo crece hasta que el disco esté lleno.-1 = File will grow until the disk is full.

268435456 = El archivo de registro aumentará de tamaño hasta un tamaño máximo de 2 TB.268435456 = Log file will grow to a maximum size of 2 TB.

Contenedores de grupo de archivos FILESTREAM, max_size refleja el tamaño máximo del contenedor.For FILESTREAM filegroup containers, max_size reflects the maximum size of the container.

Tenga en cuenta que las bases de datos que se actualizan con un tamaño de archivo ilimitado del registro indican -1 para el tamaño máximo del archivo de registro.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 = El archivo tiene un tamaño fijo y no puede crecer.0 = File is fixed size and will not grow.

> 0 = archivo crece automáticamente.>0 = File will grow automatically.

Si is_percent_growth = 0, el aumento de crecimiento es en unidades de páginas de 8 KB, redondeado a los 64 KB más próximos.If is_percent_growth = 0, growth increment is in units of 8-KB pages, rounded to the nearest 64 KB.

Si is_percent_growth = 1, el aumento de crecimiento se expresa como un porcentaje numérico entero.If is_percent_growth = 1, growth increment is expressed as a whole number percentage.
is_media_read_onlyis_media_read_only bitbit 1 = El archivo está en medios de solo lectura.1 = File is on read-only media.

0 = El archivo está en un medio de lectura y escritura.0 = File is on read-write media.
is_read_onlyis_read_only bitbit 1 = El archivo está marcado como de solo lectura.1 = File is marked read-only.

0 = El archivo está marcado como de lectura y escritura.0 = File is marked read/write.
is_sparseis_sparse bitbit 1 = El archivo es un archivo disperso.1 = File is a sparse file.

0 = El archivo no es un archivo disperso.0 = File is not a sparse file.

Para obtener más información, vea Ver el tamaño del archivo disperso de una instantánea de base de datos (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 = El crecimiento del archivo es un porcentaje.1 = Growth of the file is a percentage.

0 = Tamaño absoluto del crecimiento en páginas.0 = Absolute growth size in pages.
is_name_reservedis_name_reserved bitbit 1 = El nombre del archivo quitado (name o physical_name) solo se podrá volver a utilizar después de la siguiente copia de seguridad del registro.1 = Dropped file name (name or physical_name) is reusable only after the next log backup. Si se quitan archivos de una base de datos, sus nombres lógicos permanecen en estado de reserva hasta la siguiente copia de seguridad de registros.When files are dropped from a database, the logical names stay in a reserved state until the next log backup. Esta columna solo es relevante en el modelo de restauración completa y en el modelo de recuperación optimizado para cargas masivas de registros.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 flujo de registro (LSN) en el que se creó el archivo.Log sequence number (LSN) at which the file was created.
drop_lsndrop_lsn numeric(25,0)numeric(25,0) LSN en el que se quitó el archivo.LSN at which the file was dropped.

0 = El nombre de archivo no se puede volver a utilizar.0 = The file name is unavailable for reuse.
read_only_lsnread_only_lsn numeric(25,0)numeric(25,0) LSN en el que el grupo de archivos que contiene el archivo cambió de lectura/escritura a solo lectura (el cambio más reciente).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 en el que el grupo de archivos que contiene el archivo cambió de solo lectura a lectura/escritura (el cambio más reciente).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 copias de seguridad diferenciales.Base for differential backups. Las extensiones de datos cambiadas después de este LSN se incluirán en una copia de seguridad diferencial.Data extents changed after this LSN will be included in a differential backup.
differential_base_guiddifferential_base_guid uniqueidentifieruniqueidentifier Identificador único de la copia de seguridad de base en la que se basará una copia de seguridad diferencial.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 en el que debe comenzar la siguiente puesta al día.LSN at which the next roll forward must start.

Es NULL a menos que state = RESTORING o state = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_start_fork_guidredo_start_fork_guid uniqueidentifieruniqueidentifier Identificador exclusivo de la bifurcación de recuperación.Unique identifier of the recovery fork. El first_fork_guid de la siguiente copia de seguridad de registros restaurada debe coincidir con este valor.The first_fork_guid of the next log backup restored must match this value. Representa el estado actual del archivo.This represents the current state of the file.
redo_target_lsnredo_target_lsn numeric(25,0)numeric(25,0) LSN en el que se puede detener la puesta al día en línea de este archivo.LSN at which the online roll forward on this file can stop.

Es NULL a menos que state = RESTORING o state = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_target_fork_guidredo_target_fork_guid uniqueidentifieruniqueidentifier Bifurcación de recuperación en que se puede recuperar el archivo.The recovery fork on which the file can be recovered. Se empareja con redo_target_lsn.Paired with redo_target_lsn.
backup_lsnbackup_lsn numeric(25,0)numeric(25,0) El LSN de los datos más recientes o de la copia de seguridad diferencial del archivo.The LSN of the most recent data or differential backup of the file.

Nota

Al quitar o volver a generar índices grandes, o al quitar o truncar tablas grandes, el Motor de base de datosDatabase Engine difiere las cancelaciones de asignación de páginas, así como sus bloqueos asociados, hasta que se confirma la transacción.When you drop or rebuild large indexes, or drop or truncate large tables, the Motor de base de datosDatabase Engine defers the actual page deallocations, and their associated locks, until after the transaction commits. Las operaciones de eliminación diferidas no liberan inmediatamente el espacio asignado.Deferred drop operations do not release allocated space immediately. Por tanto, los valores devueltos por sys.database_files inmediatamente después de quitar o truncar un objeto grande pueden no reflejar el espacio de disco real disponible.Therefore, the values returned by sys.database_files immediately after dropping or truncating a large object may not reflect the actual disk space available.

PermisosPermissions

Debe pertenecer al rol public .Requires membership in the public role. Para obtener más información, consulte Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

EjemplosExamples

La instrucción siguiente devuelve el nombre, tamaño de archivo y la cantidad de espacio vacío para cada archivo de base de datos.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 obtener más información al usar SQL DatabaseSQL Database, consulte determinar el tamaño de base de datos en Azure SQL Database V12 en el blog de Customer Advisory Team de SQL.For more information when using SQL DatabaseSQL Database, see Determining Database Size in Azure SQL Database V12 on the SQL Customer Advisory Team blog.

Vea tambiénSee Also

Vistas de catálogo de archivos y bases de datos (Transact-SQL) Databases and Files Catalog Views (Transact-SQL)
Estados de archivos File States
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
sys.master_files (Transact-SQL) sys.master_files (Transact-SQL)
Database Files and Filegroups Database Files and Filegroups
sys.data_spaces (Transact-SQL)sys.data_spaces (Transact-SQL)