sys.database_files (Transact-SQL)

Contiene una riga per ogni file di un database, come archiviato 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 SQL Server.

type

tinyint

Tipo di file:

0 = Righe (include file di cataloghi full-text aggiornati a oppure creati in SQL Server 2012.)

1 = Log

2 = FILESTREAM

3 = Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

4 = Full-text (cataloghi full-text precedenti a SQL Server 2012; i cataloghi full-text aggiornati a oppure creati in SQL Server 2012 indicheranno un tipo di file 0).

type_desc

nvarchar(60)

Descrizione del tipo di file:

ROWS (include file di cataloghi full-text aggiornati a oppure creati in SQL Server 2012).

LOG

FILESTREAM

FULLTEXT (cataloghi full-text precedenti a SQL Server 2012).

data_space_id

int

Il valore può essere uguale o maggiore di 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.

name

sysname

Nome logico del file nel database.

physical_name

nvarchar(260)

Nome del file del sistema operativo. Se il database è ospitato da una replica secondaria leggibile AlwaysOn, physical_name indica il percorso del file del database della replica primario. Per il percorso corretto del file di un database secondario leggibile, eseguire una query su sys.sysaltfiles.

state

tinyint

Stato del file:

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = Identificato solo a scopo informativo. Non supportato. Non è garantita la compatibilità con le versioni future.

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 del database, size corrisponde allo spazio massimo che lo snapshot può utilizzare per il file.

Per i contenitori del filegroup FILESTREAM, size riflette la dimensione del contenitore utilizzata attualmente.

max_size

int

Dimensioni massime del file espresse in pagine da 8 KB.

0 = Non è consentito alcun aumento.

-1 = La dimensione del file aumenterà finché il disco non sarà pieno.

268435456 = La dimensione del file di log aumenterà fino al valore massimo di 2 TB.

[!NOTA]

Per i database aggiornati in base a una dimensione illimitata del file di log verrà indicato -1 come dimensione massima del file di log.

Per i contenitori del filegroup FILESTREAM, max_size riflette la dimensione massima del contenitore.

growth

int

0 = La dimensione del file è fissa e non aumenterà.

>0 = Il file aumenterà automaticamente.

Se is_percent_growth = 0, viene applicato un incremento in unità pari a pagine da 8 KB, con un arrotondamento al blocco di 64 KB più vicino.

Se is_percent_growth = 1, l'incremento è espresso come percentuale del numero intero.

is_media_read_only

bit

1 = Il file si trova in un supporto con accesso in sola lettura.

0 = Il file è memorizzato in un supporto di lettura/scrittura.

is_read_only

bit

1 = Il file è contrassegnato per l'accesso in sola lettura.

0 = Il file è contrassegnato in lettura/scrittura.

is_sparse

bit

1 = Il file è un file di tipo sparse.

0 = Il file non è un file di tipo sparse.

Per ulteriori informazioni, vedere Visualizzare le dimensioni del file sparse di uno snapshot del database (Transact-SQL).

is_percent_growth

bit

1 = L'aumento del file è una percentuale.

0 = Dimensione dell'aumento assoluto 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 operazioni bulk.

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)

Numero di sequenza del file di log in corrispondenza del quale il file è stato eliminato.

0 = Il nome del file non è disponibile per il riutilizzo.

read_only_lsn

numeric(25,0)

Numero di sequenza del file di log 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)

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).

differential_base_lsn

numeric(25,0)

Base per backup differenziali. Gli extent di dati modificati dopo tale LSN verranno inclusi in un backup differenziale.

differential_base_guid

uniqueidentifier

Identificatore univoco del backup di base in base al quale verrà eseguito un backup differenziale.

differential_base_time

datetime

Tempo corrispondente a differential_base_lsn.

redo_start_lsn

numeric(25,0)

Numero di sequenza del file di log in corrispondenza del quale deve iniziare l'esecuzione del successivo rollforward.

NULL a meno che state = RESTORING o state = RECOVERY_PENDING.

redo_start_fork_guid

uniqueidentifier

Identificatore univoco del fork di recupero. Il valore di first_fork_guid del successivo backup del log deve corrispondere a questo valore. Rappresenta lo stato corrente del file.

redo_target_lsn

numeric(25,0)

Numero di sequenza del file di log in corrispondenza del quale è possibile arrestare l'esecuzione del rollforward online sul file.

NULL a meno che state = RESTORING o state = RECOVERY_PENDING.

redo_target_fork_guid

uniqueidentifier

Fork di recupero in corrispondenza del quale è possibile recuperare il file. Abbinato a redo_target_lsn.

backup_lsn

numeric(25,0)

Numero di sequenza del file di log del backup dei dati o del backup differenziale del file più recente.

[!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 database le deallocazioni di pagine effettive e i relativi blocchi associati vengono differiti fino all'esecuzione del commit della transazione. Le operazioni di eliminazione posticipate non rilasciano immediatamente lo spazio allocato. Pertanto, i valori restituiti da sys.database_files immediatamente dopo l'eliminazione o il troncamento di un oggetto di grandi dimensioni potrebbero non corrispondere allo spazio su disco effettivamente disponibile.

Autorizzazioni

È richiesta l'appartenenza al ruolo public. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati.

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)

Concetti

Stati dei file

Filegroup e file di database