sys.master_files (Transact-SQL)

Si applica a: SQL Server Istanza gestita di SQL di Azure Analytics Platform System (PDW)

Contiene una riga per ogni file di un database archiviato nel master database. sys.master_files è una singola visualizzazione a livello di sistema.

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

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

0 = Righe

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 2008 (10.0.x); cataloghi full-text aggiornati a o creati in SQL Server 2008 (10.0.x) e versioni successive segnalano un tipo di 0file .
type_desc nvarchar(60) Descrizione del tipo di file:

ROWS
LOG
FILESTREAM
FULLTEXT (Cataloghi full-text precedenti a SQL Server 2008 (10.0.x).)
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 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 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 query sulla vista del sys.database_files catalogo per ottenere le dimensioni effettive dei contenitori FILESTREAM.
max_size int Dimensioni massime del file espresse in pagine da 8 KB.

-1 = Il file cresce fino a quando il disco non è pieno.

268435456 = Il file di log raggiunge una dimensione massima di 2 TB.

Nota: i database aggiornati con un report -1 di dimensioni illimitate del file di log per le dimensioni massime del file di log.

Nota: se max_size = -1 e growth = 0, non è consentita alcuna crescita.
growth int 0 = Le dimensioni del file sono fisse e non aumentano.

> 0 = Il file cresce automaticamente.

Se is_percent_growth = 0, l'incremento di crescita è espresso in unità di pagine da 8 KB, arrotondato al valore di 64 KB più vicino.

Se is_percent_growth = 1, l'incremento di crescita viene espresso come percentuale di numeri interi.
is_media_read_only bit 1 = Il file è su supporti di sola lettura.

0 = Il file è su supporti di lettura/scrittura.
is_read_only bit 1 = Il file è contrassegnato come di sola lettura.

0 = il file è contrassegnato come di lettura/scrittura.
is_sparse bit 1 = Il file è un file sparse.

0 = Il file non è un file sparse.

Per altre informazioni, vedere Visualizzare le dimensioni del file sparse di uno snapshot del database (Transact-SQL).
is_percent_growth bit 1 = La crescita del file è una percentuale.

0 = Dimensioni di crescita assoluta nelle pagine.
is_name_reserved bit 1 = Il nome del file eliminato è riutilizzabile. È necessario eseguire un backup del log prima che il nome (name o physical_name) possa essere riutilizzato per un nuovo nome file.

0 = 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 l'LSN sono inclusi in un backup differenziale.
differential_base_guid uniqueidentifier Identificatore univoco del backup di base su cui si basa un backup differenziale.
differential_base_time datetime Ora 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 non sia o state = RECOVERY_PENDING.
redo_start_fork_guid uniqueidentifier Identificatore univoco del fork di recupero. L'oggetto first_fork_guid del backup del log successivo 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 non sia o state = RECOVERY_PENDING.
redo_target_fork_guid uniqueidentifier Fork di recupero in corrispondenza del quale è possibile recuperare il contenitore. Associato 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 utilizzato sys.credentials per l'archiviazione del file. Ad esempio, quando SQL Server è in esecuzione in una macchina virtuale di Azure e i file di database vengono archiviati in Archiviazione BLOB di Azure, una credenziale viene configurata con le credenziali di accesso al percorso di archiviazione.

Osservazioni:

Quando si eliminano o ricompilano indici di grandi dimensioni o si eliminano o si troncano tabelle di grandi dimensioni, l'motore di database rinvia le deallozioni di pagina effettive e i relativi blocchi associati fino a quando non viene eseguito il commit della transazione. Le operazioni di rilascio posticipate non rilasciano immediatamente lo spazio allocato. Pertanto, i valori restituiti immediatamente sys.master_files dopo l'eliminazione o il troncamento di un oggetto di grandi dimensioni potrebbero non riflettere lo spazio su disco effettivo disponibile.

Per il tempdb database, sys.master_files mostra le dimensioni iniziali tempdb . I valori vengono usati come modello per tempdb la creazione all'avvio di SQL Server. tempdb la crescita non si riflette in questa visione. Per ottenere le dimensioni correnti dei tempdb file, eseguire una query tempdb.sys.database_files .

Autorizzazioni

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