sys.database_files (Transact-SQL)
Contiene una riga per ogni file di un database, con informazioni corrispondenti ai file archiviati nel database stesso. Si tratta di una vista specifica per ogni database.
Nome colonna
Tipo di dati
Descrizione
file_id
int
ID del file all'interno del database.
file_guid
uniqueidentifier
GUID del file.
NULL = Il database è stato aggiornato da una versione precedente di Microsoft SQL Server.
type
tinyint
Tipo di file:
0 = Righe
1 = Log
2 = Riservato per utilizzi futuri.
3 = Riservato per utilizzi futuri.
4 = Full-text
type_desc
nvarchar(60)
Descrizione del tipo di file:
ROWS
LOG
FULLTEXT
data_space_id
int
ID dello spazio dati a cui appartiene il file. Lo spazio dati è un filegroup.
0 = File di log.
name
sysname
Nome logico del file nel database.
physical_name
nvarchar(260)
Nome del file nel sistema operativo.
state
tinyint
Stato del file:
0 = ONLINE
1 = RESTORING
2 = RECOVERING
3 = RECOVERY_PENDING
4 = SUSPECT
5 = Riservato per utilizzi futuri.
6 = OFFLINE
7 = DEFUNCT
state_desc
nvarchar(60)
Descrizione dello stato del file:
ONLINE
RESTORING
RECOVERING
RECOVERY_PENDING
SUSPECT
OFFLINE
DEFUNCT
Per ulteriori informazioni, vedere Stati dei file.
size
int
Dimensioni del file in pagine da 8 KB.
0 = Non applicabile
Per uno snapshot di database, il valore size corrisponde allo spazio massimo utilizzabile dallo snapshot per il file.
max_size
int
Dimensioni massime del file in pagine da 8 KB:
0 = Aumento delle dimensioni non consentito.
-1 = Aumento delle dimensioni del file fino a quando il disco è pieno.
268435456 = Aumento delle dimensioni del file di log fino a un massimo di 2 TB.
Nota:
Per i database aggiornati con dimensioni illimitate per il file di log, verrà segnalato il valore -1 come dimensioni massime del file di log.
growth
int
0 = File di dimensioni fisse, aumento non consentito.
>0 = File impostato per l'aumento automatico delle dimensioni.
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.
Se is_percent_growth = 1, il valore dell'aumento di dimensioni è espresso come percentuale (numero intero).
is_media_read_only
bit
1 = Il file è memorizzato in un supporto di sola lettura.
0 = Il file è memorizzato in un supporto di lettura/scrittura.
is_read_only
bit
1 = Il file è di sola lettura.
0 = Il file è contrassegnato in lettura/scrittura.
is_sparse
bit
1 = Il file è di tipo sparse.
0 = Il file non è un file sparse.
Per ulteriori informazioni, vedere Informazioni sulle dimensioni dei file sparse negli snapshot del database.
is_percent_growth
bit
1 = Aumento delle dimensioni del file in percentuale.
0 = Dimensioni assolute di aumento in pagine.
is_name_reserved
bit
1 = Il nome del file eliminato (name o physical_name) può essere riutilizzato solo dopo il successivo backup del log. Quando si eliminano i file da un database, i nomi logici rimangono in stato riservato fino al successivo backup del log. Questa colonna è rilevante solo nel modello di recupero con registrazione completa e nel modello di recupero con registrazione minima delle transazioni di massa.
create_lsn
numeric(25,0)
Numero di sequenza del file di log (LSN) in corrispondenza del quale il file è stato creato.
drop_lsn
numeric(25,0)
LSN in corrispondenza del quale il file è stato eliminato.
0 = Il nome del file non è disponibile per il riutilizzo.
read_only_lsn
numeric(25,0)
LSN in corrispondenza del quale la modalità del filegroup contenente il file è passata da lettura/scrittura a sola lettura (la modifica più recente).
read_write_lsn
numeric(25,0)
LSN in corrispondenza del quale la modalità del filegroup contenente il file è passata da sola lettura a lettura/scrittura (la modifica più recente).
differential_base_lsn
numeric(25,0)
LSN di base per i backup differenziali. Gli extent di dati modificati in seguito verranno inclusi in un backup differenziale.
differential_base_guid
uniqueidentifier
Identificatore univoco del backup di base su cui verrà basato un backup differenziale.
differential_base_time
datetime
Ora corrispondente a differential_base_lsn.
redo_start_lsn
numeric(25,0)
LSN in corrispondenza del quale deve iniziare il successivo rollforward.
È NULL tranne nei casi in cui state = RESTORING o state = RECOVERY_PENDING.
redo_start_fork_guid
uniqueidentifier
Identificatore univoco del fork di recupero. Il valore first_fork_guid del successivo backup del log ripristinato deve corrispondere a questo valore. Rappresenta lo stato corrente del file.
redo_target_lsn
numeric(25,0)
LSN in corrispondenza del quale è possibile interrompere il rollforward in linea per il file.
È NULL tranne nei casi in cui state = RESTORING o state = RECOVERY_PENDING.
redo_target_fork_guid
uniqueidentifier
Fork di recupero in corrispondenza del quale è possibile recuperare il file. Valore abbinato a redo_target_lsn.
backup_lsn
numeric(25,0)
LSN dei dati più recenti o del backup differenziale del file.
[!NOTA] Se si eliminano o ricostruiscono indici di grandi dimensioni oppure si eliminano o troncano tabelle grandi, Motore di database posticipa le deallocazioni effettive delle pagine e dei blocchi associati fino all'esecuzione del commit della transazione. Per le operazioni di eliminazione posticipate, lo spazio allocato non viene rilasciato immediatamente. 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. Per ulteriori informazioni sulle allocazioni posticipate, vedere Eliminazione e ricostruzione di oggetti di grandi dimensioni.
Vedere anche
Riferimento
Viste del catalogo di database e file (Transact-SQL)
sys.databases (Transact-SQL)
sys.master_files (Transact-SQL)
sys.data_spaces (Transact-SQL)
Altre risorse
Stati dei file
Informazioni su file e filegroup