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

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2008)sìDatabase SQL di AzuresìAzure SQL Data Warehouse sìParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Contiene una riga per ogni file di un database archiviata nel database stesso.Contains a row per file of a database as stored in the database itself. Si tratta di una vista specifica per ogni database.This is a per-database view.

Nome colonnaColumn name Tipo di datiData type DescriptionDescription
file_idfile_id intint ID del file all'interno del database.ID of the file within database.
file_guidfile_guid uniqueidentifieruniqueidentifier GUID del file.GUID for the file.

NULL = Il database è stato aggiornato da una versione precedente di SQL ServerSQL Server.NULL = Database was upgraded from an earlier version of SQL ServerSQL Server.
tipotype tinyinttinyint Tipo di file:File type:

0 = Righe (include file di cataloghi full-text aggiornati a oppure creati in SQL Server 2017SQL Server 2017.)0 = Rows (Includes files of full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017.)

1 = Log1 = Log

2 = FILESTREAM2 = FILESTREAM

3 = Identificato solo a scopo informativo.Identified for informational purposes only. Non supportato.Not supported. Non è garantita la compatibilità con le versioni future.Future compatibility is not guaranteed.3 = Identificato solo a scopo informativo.Identified for informational purposes only. Non supportato.Not supported. Non è garantita la compatibilità con le versioni future.Future compatibility is not guaranteed.

4 = Full-text (cataloghi full-text precedenti a SQL Server 2017SQL Server 2017; i cataloghi full-text aggiornati a oppure creati in SQL Server 2017SQL Server 2017 indicheranno un tipo di file 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) Descrizione del tipo di file:Description of the file type:

ROWS (include file di cataloghi full-text aggiornati a oppure creati in SQL Server 2017SQL Server 2017).ROWS (Includes files of full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017.)

LOGLOG

FILESTREAMFILESTREAM

FULLTEXT (cataloghi full-text precedenti a SQL Server 2017SQL Server 2017).FULLTEXT (Full-text catalogs earlier than SQL Server 2017SQL Server 2017.)
data_space_iddata_space_id intint Il valore può essere uguale o maggiore di 0.Value can be 0 or greater than 0. Un valore uguale a 0 rappresenta il file di log del database, mentre un valore maggiore di 0 rappresenta l'ID del filegroup in cui è archiviato il file di dati.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 logico del file nel database.Logical name of the file in the database.
physical_namephysical_name nvarchar (260)nvarchar(260) Nome del file del sistema operativo.Operating-system file name. Se il database è ospitato da un AlwaysOn replica secondaria leggibile, physical_name indica il percorso del file del database di replica primaria.If the database is hosted by an AlwaysOn readable secondary replica, physical_name indicates the file location of the primary replica database. Per il percorso di un database secondario leggibile, eseguire una query sysaltfiles.For the correct file location of a readable secondary database, query sys.sysaltfiles.
statostate tinyinttinyint Stato del file:File state:

0 = ONLINE0 = ONLINE

1 = RESTORING1 = RESTORING

2 = RECOVERING2 = RECOVERING

3 = RECOVERY_PENDING3 = RECOVERY_PENDING

4 = SUSPECT4 = SUSPECT

5 = Identificato solo a scopo informativo.Identified for informational purposes only. Non supportato.Not supported. Non è garantita la compatibilità con le versioni future.Future compatibility is not guaranteed.5 = Identificato solo a scopo informativo.Identified for informational purposes only. Non supportato.Not supported. Non è garantita la compatibilità con le versioni future.Future compatibility is not guaranteed.

6 = OFFLINE6 = OFFLINE

7 = DEFUNCT7 = DEFUNCT
state_descstate_desc nvarchar(60)nvarchar(60) Descrizione dello stato del file:Description of the file state:

ONLINEONLINE

RESTORINGRESTORING

RECOVERINGRECOVERING

RECOVERY_PENDINGRECOVERY_PENDING

SUSPECTSUSPECT

OFFLINEOFFLINE

DEFUNCTDEFUNCT

Per ulteriori informazioni, vedere degli stati di File.For more information, see File States.
dimensionisize intint Dimensioni del file in pagine da 8 KB.Current size of the file, in 8-KB pages.

0 = Non applicabile0 = Not applicable

Per uno snapshot del database, il valore size corrisponde allo spazio massimo utilizzabile dallo snapshot per il file.For a database snapshot, size reflects the maximum space that the snapshot can ever use for the file.

Per i contenitori di filegroup FILESTREAM, dimensione riflette che corrente utilizzato dimensione del contenitore.For FILESTREAM filegroup containers, size reflects the current used size of the container.
max_sizemax_size intint Dimensioni massime del file espresse in pagine da 8 KB.Maximum file size, in 8-KB pages:

0 = Non è consentito alcun aumento.0 = No growth is allowed.

-1 = La dimensione del file aumenterà finché il disco è pieno.-1 = File will grow until the disk is full.

268435456 = La dimensione del file di log aumenterà fino al valore massimo di 2 TB.268435456 = Log file will grow to a maximum size of 2 TB.

Per i contenitori di filegroup FILESTREAM, max_size riflette la dimensione massima del contenitore.For FILESTREAM filegroup containers, max_size reflects the maximum size of the container.

Si noti che i database che vengono aggiornati con una dimensione del file di log senza limiti restituirà -1 per la dimensione massima del file di log.Note that databases that are upgraded with an unlimited log file size will report -1 for the maximum size of the log file.
aumento delle dimensionigrowth intint 0 = La dimensione del file è fissa e non aumenterà.0 = File is fixed size and will not grow.

>0 = Il file aumenterà automaticamente.>0 = File will grow automatically.

Se is_percent_growth = 0, il valore dell'aumento di dimensioni è espresso in unità di pagine da 8 KB, con arrotondamento ai 64 KB successivi.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, il valore dell'aumento di dimensioni è espresso come percentuale (numero intero).If is_percent_growth = 1, growth increment is expressed as a whole number percentage.
is_media_read_onlyis_media_read_only bitbit 1 = Il file si trova in un supporto con accesso in sola lettura.1 = File is on read-only media.

0 = Il file è memorizzato in un supporto di lettura/scrittura.0 = File is on read-write media.
is_read_onlyis_read_only bitbit 1 = Il file è contrassegnato per l'accesso in sola lettura.1 = File is marked read-only.

0 = Il file è contrassegnato in lettura/scrittura.0 = File is marked read/write.
is_sparseis_sparse bitbit 1 = il file è di tipo sparse.1 = File is a sparse file.

0 = il file non è di tipo sparse.0 = File is not a sparse file.

Per altre informazioni, vedere Visualizzare le dimensioni del file sparse di uno snapshot del database (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 = L'aumento del file è una percentuale.1 = Growth of the file is a percentage.

0 = Dimensione dell'aumento assoluto in pagine.0 = Absolute growth size in pages.
is_name_reservedis_name_reserved bitbit 1 = Il nome del file eliminato (name o physical_name) può essere riutilizzato solo dopo il successivo backup del log.1 = Dropped file name (name or physical_name) is reusable only after the next log backup. Quando si eliminano i file da un database, i nomi logici rimangono in stato riservato fino al successivo backup del log.When files are dropped from a database, the logical names stay in a reserved state until the next log backup. Questa colonna è rilevante solo nel modello di recupero con registrazione completa e nel modello di recupero con registrazione minima delle operazioni bulk.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) Numero di sequenza del file di log (LSN) in corrispondenza del quale il file è stato creato.Log sequence number (LSN) at which the file was created.
drop_lsndrop_lsn Numeric(25,0)numeric(25,0) Numero di sequenza del file di log (LSN) in corrispondenza del quale il file è stato eliminato.LSN at which the file was dropped.

0 = Il nome del file non è disponibile per il riutilizzo.0 = The file name is unavailable for reuse.
read_only_lsnread_only_lsn Numeric(25,0)numeric(25,0) Numero di sequenza del file di log (LSN) in corrispondenza del quale la modalità del filegroup contenente il file è passata da lettura/scrittura a sola lettura (la modifica più 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) Numero di sequenza del file di log in corrispondenza del quale la modalità del filegroup contenente il file è passata da sola lettura a lettura/scrittura (la modifica più 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 per backup differenziali.Base for differential backups. Gli extent di dati modificati dopo tale LSN verranno inclusi in un backup differenziale.Data extents changed after this LSN will be included in a differential backup.
differential_base_guiddifferential_base_guid uniqueidentifieruniqueidentifier Identificatore univoco del backup di base in base al quale verrà eseguito un backup differenziale.Unique identifier of the base backup on which a differential backup will be based.
differential_base_timedifferential_base_time datetimedatetime Tempo corrispondente a differential_base_lsn.Time corresponding to differential_base_lsn.
redo_start_lsnredo_start_lsn Numeric(25,0)numeric(25,0) Numero di sequenza del file di log in corrispondenza del quale deve iniziare l'esecuzione del successivo rollforward.LSN at which the next roll forward must start.

NULL a meno che state = RESTORING o state = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_start_fork_guidredo_start_fork_guid uniqueidentifieruniqueidentifier Identificatore univoco del fork di recupero.Unique identifier of the recovery fork. Il valore first_fork_guid del successivo backup del log ripristinato deve corrispondere a questo valore.The first_fork_guid of the next log backup restored must match this value. Rappresenta lo stato corrente del file.This represents the current state of the file.
redo_target_lsnredo_target_lsn Numeric(25,0)numeric(25,0) Numero di sequenza del file di log (LSN) in corrispondenza del quale è possibile arrestare l'esecuzione del rollforward online sul file.LSN at which the online roll forward on this file can stop.

NULL a meno che state = RESTORING o state = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_target_fork_guidredo_target_fork_guid uniqueidentifieruniqueidentifier Fork di recupero in corrispondenza del quale è possibile recuperare il file.The recovery fork on which the file can be recovered. Abbinato a redo_target_lsn.Paired with redo_target_lsn.
backup_lsnbackup_lsn Numeric(25,0)numeric(25,0) Numero di sequenza del file di log del backup dei dati o del backup differenziale del file più recente.The LSN of the most recent data or differential backup of the file.

Nota

In caso di eliminazione o ricompilazione di indici di grandi dimensioni oppure di eliminazione o troncamento di tabelle di grandi dimensioni, in Motore di databaseDatabase Engine le deallocazioni di pagine effettive e i relativi blocchi associati vengono posticipati fino all'esecuzione del commit della transazione.When you drop or rebuild large indexes, or drop or truncate large tables, the Motore di databaseDatabase Engine defers the actual page deallocations, and their associated locks, until after the transaction commits. Le operazioni di eliminazione posticipate non rendono immediatamente disponibile lo spazio allocato.Deferred drop operations do not release allocated space immediately. Pertanto, i valori restituiti da sys.database_files subito dopo l'eliminazione o il troncamento di un oggetto di grandi dimensioni potrebbero non rispecchiare lo spazio su disco effettivamente disponibile.Therefore, the values returned by sys.database_files immediately after dropping or truncating a large object may not reflect the actual disk space available.

PermissionsPermissions

È richiesta l'appartenenza al ruolo public .Requires membership in the public role. Per altre informazioni, vedere Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

EsempiExamples

L'istruzione seguente restituisce il nome, dimensioni del file e la quantità di spazio vuoto per ogni file di database.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;

Per ulteriori informazioni sull'utilizzo Database SQLSQL Database, vedere determinazione delle dimensioni del Database nel Database SQL di Azure V12 nel blog del Team di consulenza clienti di SQL.For more information when using Database SQLSQL Database, see Determining Database Size in Azure SQL Database V12 on the SQL Customer Advisory Team blog.

Vedere ancheSee Also

Viste del catalogo di database e file (Transact-SQL) Databases and Files Catalog Views (Transact-SQL)
Stati di file 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
data_spaces ( Transact-SQL )sys.data_spaces (Transact-SQL)