sys.master_files (Transact-SQL)

Si applica a: sìSQL Server (tutte le versioni supportate) SìIstanza gestita di SQL di Azure sìParallel Data Warehouse

Contiene una riga per file di database archiviato nel database master. Questa è una singola vista a livello di sistema.

Nome colonna Tipo di dati Descrizione
database_id int ID del database al quale è associato il file corrente. Il masterdatabase_id è sempre 1.
file_id int ID del file all'interno del database. Il file_id primario è sempre 1.
file_guid uniqueidentifier Identificatore univoco del file.

NULL = Il database è stato aggiornato da una versione precedente SQL Server di (valido per SQL Server 2005 e versioni precedenti).
tipo tinyint Tipo di file:

0 = Righe

1 = Log

2 = FILESTREAM

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

4 = Full-text (cataloghi full-text precedenti a SQL Server 2008; i cataloghi full-text aggiornati a oppure creati in SQL Server 2008 o versioni successive indicheranno un tipo di file 0).
type_desc nvarchar(60) Descrizione del tipo di file:

ROWS

LOG

FILESTREAM

FULLTEXT (cataloghi full-text precedenti a SQL Server 2008).
data_space_id int ID dello spazio dati al quale 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 del sistema operativo.
state tinyint Stato del file:

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = Identificato solo a scopo informativo. Non supportata. 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 altre informazioni, vedere Stati del file.
size int Dimensioni del file corrente espresse in pagine da 8 KB. Per uno snapshot del database, il valore size corrisponde allo spazio massimo utilizzabile dallo snapshot per il file.

Nota: questo campo viene popolato come zero per i contenitori FILESTREAM. Eseguire una sys.database_files di catalogo per le dimensioni effettive dei contenitori FILESTREAM.
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 è pieno.

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

Nota: i database aggiornati con dimensioni illimitate del file di log segnalano -1 per le dimensioni massime del file di log.
growth int 0 = La dimensione del file è fissa e non aumenterà.

>0 = Il file aumenta 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ù prossimo.

Se is_percent_growth = 1, il valore dell'aumento di dimensioni è espresso come percentuale (numero intero).
is_media_read_only bit 1 = Il file si trova in un supporto con accesso in sola lettura.

0 = Il file si trova in un supporto con accesso in lettura/scrittura.
is_read_only bit 1 = Il file è contrassegnato per l'accesso in sola lettura.

0 = Il file è contrassegnato per l'accesso in lettura/scrittura.
is_sparse bit 1 = il file è di tipo sparse.

0 = il file non è di tipo sparse.

Per altre 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 file eliminato è riutilizzabile. È necessario eseguire un backup del log prima di poter riutilizzare il nome (name o physical_name) come nuovo nome file.

0 = Il nome file non è disponibile per il riutilizzo.
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 (LSN) in corrispondenza del quale il file è stato eliminato.
read_only_lsn 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).
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 first_fork_guid del successivo backup del log ripristinato deve corrispondere a questo valore. Rappresenta lo stato corrente del contenitore.
redo_target_lsn numeric(25,0) Numero di sequenza del file di log (LSN) 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 contenitore. 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.
credential_id int Oggetto credential_id da sys.credentials utilizzato per archiviare il file. Ad esempio, quando SQL Server è in esecuzione in una macchina virtuale di Azure e i file di database vengono archiviati nell'archivio BLOB di Azure, viene configurata una credenziale con le credenziali di accesso al percorso di archiviazione.

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 posticipati fino all'esecuzione del commit della transazione. Le operazioni di eliminazione posticipate non rendono immediatamente disponibile lo spazio allocato. I valori restituiti da sys.master_files subito dopo l'eliminazione o il troncamento di un oggetto di grandi dimensioni possono pertanto non riflettere l'effettivo spazio su disco disponibile.

Nota

Per tempdb, l'sys.master_files mostra le dimensioni iniziali di tempdb. I valori vengono usati come modello per la creazione di tempdb all'avvio di SQL Server. Pertanto, quando tempdb aumenta, non viene riflessa nella vista. Per ottenere le dimensioni correnti dei file tempdb, eseguire una query su tempdb.sys.database_files.

Autorizzazioni

Le autorizzazioni minime necessarie per visualizzare la riga corrispondente sono CREATE DATABASE, ALTER ANY DATABASE o VIEW ANY DEFINITION.

Vedere anche

Viste del catalogo di database e file (Transact-SQL)
Stati dei file
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
Filegroup e file di database