sys.database_files (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Contiene una fila por cada archivo de una base de datos como se almacena en la propia base de datos. Es una vista por base de datos.
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
file_id |
int | Identificador del archivo dentro de la base de datos. |
file_guid |
uniqueidentifier | GUID del archivo.NULL = La base de datos se actualizó desde una versión anterior de SQL Server (válida para SQL Server 2005 y versiones anteriores). |
type |
tinyint | Tipo de archivo: 0 = Filas 1 = Registro 2 = FILESTREAM 3 = Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada. 4 = Texto completo |
type_desc |
nvarchar(60) | Descripción del tipo de archivo:ROWS LOG FILESTREAM FULLTEXT |
data_space_id |
int | El valor puede ser cero o mayor que cero. Un valor de representa el archivo de registro de base de 0 datos y un valor mayor que cero representa el identificador del grupo de archivos donde se almacena este archivo de datos. |
name |
sysname | Nombre lógico del archivo de la base de datos. |
physical_name |
nvarchar(260) | Nombre del archivo del sistema operativo. Si la base de datos está hospedada por una réplica secundaria legible del grupo de disponibilidad, physical_name indica la ubicación del archivo de la base de datos de réplica principal. Para conocer la ubicación correcta de los archivos de una base de datos de réplica secundaria legible, consulte sys.sysaltfiles. |
state |
tinyint | Estado del archivo: 0 = ONLINE 1 = RESTORING 2 = RECOVERING 3 = RECOVERY_PENDING 4 = SUSPECT 5 = Solamente se identifica con fines informativos. No compatible. La compatibilidad con versiones posteriores no está garantizada. 6 = OFFLINE 7 = DEFUNCT |
state_desc |
nvarchar(60) | Descripción del estado del archivo:ONLINE RESTORING RECOVERING RECOVERY_PENDING SUSPECT OFFLINE DEFUNCT Para más información, vea Estados de los archivos. |
size |
int | Tamaño actual de archivo, en páginas de 8 KB. 0 = No aplicable. En una instantánea de base de datos, size refleja el espacio máximo que la instantánea puede utilizar para el archivo. En contenedores de grupos de archivos FILESTREAM, size refleja el tamaño usado actual del contenedor. |
max_size |
int | Tamaño máximo del archivo, en páginas de 8 KB: 0 = No se permite el crecimiento. -1 = El archivo puede crecer hasta que el disco esté lleno. 268435456 = El archivo de registro puede crecer hasta un tamaño máximo de 2 TB. En el caso de los contenedores de grupos de archivos FILESTREAM, max_size refleja el tamaño máximo del contenedor.Bases de datos que se actualizan con un informe -1 de tamaño de archivo de registro ilimitado para el tamaño máximo del archivo de registro.En Azure SQL Database, la suma de valores de max_size todos los archivos de datos puede ser menor que el tamaño máximo de datos de la base de datos. Use DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') para determinar el tamaño máximo de los datos. |
growth |
int | 0 = El archivo tiene un tamaño fijo y no puede crecer. Mayor que 0 = El archivo aumentará automáticamente. Si is_percent_growth es = 0, el incremento de crecimiento se encuentra en unidades de páginas de 8 KB, redondeadas a los 64 KB más cercanos.Si is_percent_growth es = 1, el incremento de crecimiento se expresa como un porcentaje de número entero. |
is_media_read_only |
bit | 1 = El archivo está en medios de solo lectura. 0 = El archivo está en un medio de lectura y escritura. |
is_read_only |
bit | 1 = El archivo está marcado como de solo lectura. 0 = El archivo está marcado como de lectura y escritura. |
is_sparse |
bit | 1 = El archivo es un archivo disperso. 0 = El archivo no es un archivo disperso. Para más información, consulte Ver el tamaño del archivo disperso de una instantánea de base de datos (Transact-SQL). |
is_percent_growth |
bit | 1 = El crecimiento del archivo es un porcentaje. 0 = Tamaño absoluto del crecimiento en páginas. |
is_name_reserved |
bit | 1 = El nombre de archivo quitado (name o physical_name ) solo se puede reutilizar después de la siguiente copia de seguridad del registro. 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. 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. |
create_lsn |
numeric(25,0) | Número de flujo de registro (LSN) en el que se creó el archivo. |
drop_lsn |
numeric(25,0) | LSN en el que se quitó el archivo. 0 = El nombre de archivo no se puede volver a utilizar. |
read_only_lsn |
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). |
read_write_lsn |
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). |
differential_base_lsn |
numeric(25,0) | Base para copias de seguridad diferenciales. Las extensiones de datos cambiadas después de este LSN se incluirán en una copia de seguridad diferencial. |
differential_base_guid |
uniqueidentifier | Identificador único de la copia de seguridad de base en la que se basará una copia de seguridad diferencial. |
differential_base_time |
datetime | Hora correspondiente a differential_base_lsn . |
redo_start_lsn |
numeric(25,0) | LSN en el que debe comenzar la siguiente puesta al día. Es NULL a menos state = RESTORING que o .state = RECOVERY_PENDING |
redo_start_fork_guid |
uniqueidentifier | Identificador exclusivo de la bifurcación de recuperación. De first_fork_guid la siguiente copia de seguridad de registros restaurada debe coincidir con este valor. Representa el estado actual del archivo. |
redo_target_lsn |
numeric(25,0) | LSN en el que se puede detener la puesta al día en línea de este archivo. Es NULL a menos state = RESTORING que o .state = RECOVERY_PENDING |
redo_target_fork_guid |
uniqueidentifier | Bifurcación de recuperación en que se puede recuperar el archivo. Emparejado con redo_target_lsn . |
backup_lsn |
numeric(25,0) | El LSN de los datos más recientes o de la copia de seguridad diferencial del archivo. |
Nota:
Si se quitan o se recompilan índices grandes, o bien se quitan o truncar tablas grandes, el motor de base de datos difiere las cancelaciones de asignaciones de la página real, así como sus bloqueos asociados, hasta que se confirma la transacción. Las operaciones de eliminación diferidas no liberan inmediatamente el espacio asignado. Por lo tanto, los valores devueltos sys.database_files
inmediatamente después de quitar o truncar un objeto grande podrían no reflejar el espacio en disco real disponible.
Permisos
Debe pertenecer al rol public . Para obtener más información, consulte Metadata Visibility Configuration.
Ejemplos
La siguiente instrucción devuelve el nombre, el tamaño del archivo y la cantidad de espacio vacío de todos los archivos de base de datos.
SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0
AS EmptySpaceInMB
FROM sys.database_files;
Busque consultas de ejemplo mediante SQL Database, en Administración de espacio de archivos para bases de datos en Azure SQL Database. Puede:
- Consulta de la información de espacio de almacenamiento en una base de datos única.
- Consulta de la información de espacio de almacenamiento en un grupo de bases de datos elásticas.
Contenido relacionado
- Vistas de catálogo de archivos y bases de datos (Transact-SQL)
- Estados de los archivos
- sys.databases (Transact-SQL)
- sys.master_files (Transact-SQL)
- Archivos y grupos de archivos de base de datos
- sys.data_spaces (Transact-SQL)
- Administración del espacio de archivo para bases de datos en Azure SQL Database
- Administración del espacio de archivo para Azure SQL Managed Instance