sys.database_files (Transact-SQL)sys.database_files (Transact-SQL)

GILT FÜR: jaSQL Server jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data WarehouseAPPLIES TO: yesSQL Server yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Enthält eine Zeile pro Datei einer Datenbank, wie sie in der Datenbank selbst gespeichert ist.Contains a row per file of a database as stored in the database itself. Hierbei handelt es sich um eine Sicht pro Datenbank.This is a per-database view.

SpaltennameColumn name DatentypData type BeschreibungDescription
file_idfile_id intint ID der Datei in der DatenbankID of the file within database.
file_guidfile_guid uniqueidentifieruniqueidentifier GUID der Datei.GUID for the file.

NULL = Die Datenbank wurde von einer früheren Version von SQL ServerSQL Server aktualisiert.NULL = Database was upgraded from an earlier version of SQL ServerSQL Server.
typetype tinyinttinyint Dateityp:File type:

0 = Zeilen (schließt Dateien von Volltextkatalogen ein, die auf SQL Server 2017SQL Server 2017 aktualisiert werden oder darin erstellt werden.)0 = Rows (Includes files of full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017.)

1 = Protokoll1 = Log

2 = FILESTREAM2 = FILESTREAM

3 = Nur für Informationszwecke identifiziert.Identified for informational purposes only. Wird nicht unterstützt.Not supported. Zukünftige Kompatibilität wird nicht sichergestellt.Future compatibility is not guaranteed.3 = Nur für Informationszwecke identifiziert.Identified for informational purposes only. Wird nicht unterstützt.Not supported. Zukünftige Kompatibilität wird nicht sichergestellt.Future compatibility is not guaranteed.

4 = Volltext (Volltextkataloge vor SQL Server 2017SQL Server 2017; Volltextkataloge, die auf SQL Server 2017SQL Server 2017 aktualisiert werden oder darin erstellt werden, geben den Dateityp 0 zurück.)4 = Full-text (Full-text catalogs earlier than SQL Server 2017SQL Server 2017; full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017 will report a file type 0.)
type_desctype_desc nvarchar(60)nvarchar(60) Beschreibung des Dateityps:Description of the file type:

ROWS (schließt Dateien von Volltextkatalogen ein, die auf SQL Server 2017SQL Server 2017 aktualisiert werden oder darin erstellt werden.)ROWS (Includes files of full-text catalogs that are upgraded to or created in SQL Server 2017SQL Server 2017.)

LOGLOG

FILESTREAMFILESTREAM

FULLTEXT (Volltextkataloge vor SQL Server 2017SQL Server 2017.)FULLTEXT (Full-text catalogs earlier than SQL Server 2017SQL Server 2017.)
data_space_iddata_space_id intint Der Wert kann 0 oder größer sein.Value can be 0 or greater than 0. Der Wert 0 stellt die Datenbankprotokolldatei dar, und ein Wert größer als 0 stellt die ID der Dateigruppe dar, in der diese Datendatei gespeichert ist.A value of 0 represents the database log file, and a value greater than 0 represents the ID of the filegroup where this data file is stored.
namename sysnamesysname Logischer Name der Datei in der DatenbankLogical name of the file in the database.
physical_namephysical_name nvarchar(260)nvarchar(260) Betriebssystem-DateinameOperating-system file name. Wenn die Datenbank, indem Sie eine AlwaysOn gehostet wird lesbares sekundäres Replikat, Physical_name gibt den Speicherort der Datei der Datenbank des primären Replikats.If the database is hosted by an AlwaysOn readable secondary replica, physical_name indicates the file location of the primary replica database. Abfrage nach den richtigen Speicherort einer lesbaren sekundären Datenbank, sys.sysaltfiles.For the correct file location of a readable secondary database, query sys.sysaltfiles.
statestate tinyinttinyint Dateistatus:File state:

0 = ONLINE0 = ONLINE

1 = RESTORING1 = RESTORING

2 = RECOVERING2 = RECOVERING

3 = RECOVERY_PENDING3 = RECOVERY_PENDING

4 = SUSPECT4 = SUSPECT

5 = Nur für Informationszwecke identifiziert.Identified for informational purposes only. Wird nicht unterstützt.Not supported. Zukünftige Kompatibilität wird nicht sichergestellt.Future compatibility is not guaranteed.5 = Nur für Informationszwecke identifiziert.Identified for informational purposes only. Wird nicht unterstützt.Not supported. Zukünftige Kompatibilität wird nicht sichergestellt.Future compatibility is not guaranteed.

6 = OFFLINE6 = OFFLINE

7 = DEFUNCT7 = DEFUNCT
state_descstate_desc nvarchar(60)nvarchar(60) Beschreibung des Dateistatus:Description of the file state:

ONLINEONLINE

RESTORINGRESTORING

RECOVERINGRECOVERING

RECOVERY_PENDINGRECOVERY_PENDING

SUSPECTSUSPECT

OFFLINEOFFLINE

DEFUNCTDEFUNCT

Weitere Informationen finden Sie im Abschnitt Dateistatus.For more information, see File States.
sizesize intint Aktuelle Größe der Datei in Seiten mit einer Größe von 8 KB.Current size of the file, in 8-KB pages.

0 = Nicht zutreffend0 = Not applicable

Für eine Datenbankmomentaufnahme gibt die Größe den maximalen Speicherplatz, den die Momentaufnahme für die Datei verwenden kann.For a database snapshot, size reflects the maximum space that the snapshot can ever use for the file.

Für FILESTREAM-dateigruppencontainern gibt Größe an, dass die aktuelle Größe des Containers verwendet.For FILESTREAM filegroup containers, size reflects the current used size of the container.
max_sizemax_size intint Maximale Dateigröße in Seiten mit einer Größe von 8 KB:Maximum file size, in 8-KB pages:

0 = Keine Vergrößerung zulässig.0 = No growth is allowed.

-1 = Datei wird vergrößert, bis der Datenträger voll ist.-1 = File will grow until the disk is full.

268435456 = Protokolldatei wird bis zu einer maximalen Größe von 2 TB vergrößert.268435456 = Log file will grow to a maximum size of 2 TB.

Für FILESTREAM-dateigruppencontainern gibt Max_size die maximale Größe des Containers.For FILESTREAM filegroup containers, max_size reflects the maximum size of the container.

Beachten Sie, die von Datenbanken, die mit einer unbegrenzten Protokolldateigröße aktualisiert werden, wird-1 für die maximale Größe der Protokolldatei gemeldet.Note that databases that are upgraded with an unlimited log file size will report -1 for the maximum size of the log file.
growthgrowth intint 0 = Die Datei hat eine feste Größe und wird nicht vergrößert.0 = File is fixed size and will not grow.

> 0 = Datei wird automatisch vergrößert.>0 = File will grow automatically.

Wenn Is_percent_growth = 0, Schrittweite für die Vergrößerung in Einheiten von 8-KB-Seiten, gerundet auf den nächsten durch 64 KB ist.If is_percent_growth = 0, growth increment is in units of 8-KB pages, rounded to the nearest 64 KB.

Wenn Is_percent_growth = 1, Schrittweite für die Vergrößerung als ganzzahliger Prozentwert ausgedrückt ist.If is_percent_growth = 1, growth increment is expressed as a whole number percentage.
is_media_read_onlyis_media_read_only bitbit 1 = Die Datei befindet sich auf einem schreibgeschützten Medium.1 = File is on read-only media.

0 = Die Datei befindet sich auf einem Lese/Schreib-Medium.0 = File is on read-write media.
is_read_onlyis_read_only bitbit 1 = Die Datei ist als schreibgeschützt gekennzeichnet.1 = File is marked read-only.

0 = Die Datei ist als Lese/Schreib-Datei gekennzeichnet.0 = File is marked read/write.
is_sparseis_sparse bitbit 1 = Die Datei ist eine Sparsedatei.1 = File is a sparse file.

0 = Die Datei ist keine Sparsedatei.0 = File is not a sparse file.

Weitere Informationen finden Sie unter Anzeigen der Größe der Datei mit geringer Dichte einer Datenbank-Momentaufnahme (Transact-SQL).For more information, see View the Size of the Sparse File of a Database Snapshot (Transact-SQL).
is_percent_growthis_percent_growth bitbit 1 = Die Vergrößerung der Datei erfolgt prozentual.1 = Growth of the file is a percentage.

0 = Absolute Vergrößerung in Seiten.0 = Absolute growth size in pages.
is_name_reservedis_name_reserved bitbit 1 = der gelöschte Dateiname ("Name" oder "Physical_name") kann erst nach der nächsten protokollsicherung wiederverwendet.1 = Dropped file name (name or physical_name) is reusable only after the next log backup. Wenn Dateien aus einer Datenbank gelöscht werden, bleiben die logischen Namen bis zur nächsten Protokollsicherung reserviert.When files are dropped from a database, the logical names stay in a reserved state until the next log backup. Diese Spalte ist nur beim vollständigen und beim massenprotokollierten Wiederherstellungsmodell relevant.This column is relevant only under the full recovery model and the bulk-logged recovery model.
create_lsncreate_lsn numeric(25,0)numeric(25,0) Protokollfolgenummer (LSN, Log Sequence Number), bei der die Datei erstellt wurdeLog sequence number (LSN) at which the file was created.
drop_lsndrop_lsn numeric(25,0)numeric(25,0) LSN, bei der die Datei gelöscht wurdeLSN at which the file was dropped.

0 = Der Dateiname ist nicht für die Wiederverwendung verfügbar.0 = The file name is unavailable for reuse.
read_only_lsnread_only_lsn numeric(25,0)numeric(25,0) LSN, bei der die Dateigruppe mit der Datei von Lesen/Schreiben in Schreibgeschützt geändert wurde (letzte Änderung)LSN at which the filegroup that contains the file changed from read/write to read-only (most recent change).
read_write_lsnread_write_lsn numeric(25,0)numeric(25,0) LSN, bei der die Dateigruppe mit der Datei von Schreibgeschützt in Lesen/Schreiben geändert wurde (letzte Änderung)LSN at which the filegroup that contains the file changed from read-only to read/write (most recent change).
differential_base_lsndifferential_base_lsn numeric(25,0)numeric(25,0) Die Basis für differenzielle Sicherungen.Base for differential backups. Datenblöcke, die nach dieser LSN geändert wurden, werden in eine differenzielle Sicherung eingeschlossen.Data extents changed after this LSN will be included in a differential backup.
differential_base_guiddifferential_base_guid uniqueidentifieruniqueidentifier Der eindeutige Bezeichner der Basissicherung, auf der eine differenzielle Sicherung basiert.Unique identifier of the base backup on which a differential backup will be based.
differential_base_timedifferential_base_time datetimedatetime Die Zeit, die Differential_base_lsn entspricht.Time corresponding to differential_base_lsn.
redo_start_lsnredo_start_lsn numeric(25,0)numeric(25,0) LSN, bei der das nächste Rollforward beginnen muss.LSN at which the next roll forward must start.

Ist NULL, es sei denn, Status = RESTORING oder Status = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_start_fork_guidredo_start_fork_guid uniqueidentifieruniqueidentifier Eindeutiger Bezeichner des Verzweigungspunkts.Unique identifier of the recovery fork. Die First_fork_guid der nächsten protokollsicherung wiederhergestellt, muss dieser Wert übereinstimmen.The first_fork_guid of the next log backup restored must match this value. Dies stellt den aktuellen Status der Datei dar.This represents the current state of the file.
redo_target_lsnredo_target_lsn numeric(25,0)numeric(25,0) Die LSN, bei der das Onlinerollforward für diese Datei beendet werden kann.LSN at which the online roll forward on this file can stop.

Ist NULL, es sei denn, Status = RESTORING oder Status = RECOVERY_PENDING.Is NULL unless state = RESTORING or state = RECOVERY_PENDING.
redo_target_fork_guidredo_target_fork_guid uniqueidentifieruniqueidentifier Die Wiederherstellungsverzweigung, auf der die Datei wiederhergestellt werden kann.The recovery fork on which the file can be recovered. Gekoppelt mit Redo_target_lsn.Paired with redo_target_lsn.
backup_lsnbackup_lsn numeric(25,0)numeric(25,0) Die LSN der letzten Datensicherung oder differenziellen Sicherung der Datei.The LSN of the most recent data or differential backup of the file.

Hinweis

Wenn Sie große Indizes löschen oder neu erstellen bzw. wenn Sie große Tabellen löschen oder abschneiden, verzögert Datenbank-EngineDatabase Engine die Aufhebung der aktuellen Seitenzuordnungen sowie die zugehörigen Sperren, bis für die Transaktion ein Commit ausgeführt wird.When you drop or rebuild large indexes, or drop or truncate large tables, the Datenbank-EngineDatabase Engine defers the actual page deallocations, and their associated locks, until after the transaction commits. Bei verzögerten Löschvorgängen wird der zugeordnete Speicherplatz nicht sofort freigegeben.Deferred drop operations do not release allocated space immediately. Aus diesem Grund können die von Sys. database_files sofort nach dem Löschen oder Abschneiden eines großen Objekts zurückgegebenen Werte nicht den tatsächlich verfügbaren Speicherplatz wider.Therefore, the values returned by sys.database_files immediately after dropping or truncating a large object may not reflect the actual disk space available.

BerechtigungenPermissions

Erfordert die Mitgliedschaft in der public -Rolle.Requires membership in the public role. Weitere Informationen finden Sie unter Metadata Visibility Configuration.For more information, see Metadata Visibility Configuration.

BeispieleExamples

Die folgende Anweisung gibt den Namen, Größe und die Menge an leerem Platz für jede Datenbankdatei.The following statement returns the name, file size, and the amount of empty space for each database file.

SELECT name, size/128.0 FileSizeInMB,
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 
   AS EmptySpaceInMB
FROM sys.database_files;

Weitere Informationen zum mithilfe von SQL-DatenbankSQL Database, finden Sie unter Datenbankgröße bestimmen, in Azure SQL-Datenbank V12 im SQL Customer Advisory Team-Blog.For more information when using SQL-DatenbankSQL Database, see Determining Database Size in Azure SQL Database V12 on the SQL Customer Advisory Team blog.

Siehe auchSee Also

Datenbanken und Dateikatalogsichten (Transact-SQL) Databases and Files Catalog Views (Transact-SQL)
Dateistatus File States
sys.databases (Transact-SQL) sys.databases (Transact-SQL)
sys.master_files (Transact-SQL) sys.master_files (Transact-SQL)
Database Files and Filegroups Database Files and Filegroups
sys.data_spaces (Transact-SQL)sys.data_spaces (Transact-SQL)