sys.master_files (Transact-SQL)
Si applica a: SQL Server Istanza gestita di SQL di Azure Piattaforma di strumenti analitici (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 = Righe1 = Log2 = FILESTREAM3 = 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 0 file . |
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 DATABASE
o VIEW ANY DEFINITION
.