Freigeben über


sys.database_files (Transact-SQL)

Enthält eine Zeile pro Datei einer Datenbank, wie sie in der Datenbank selbst gespeichert ist. Hierbei handelt es sich um eine Sicht pro Datenbank.

Gilt für: SQL Server (SQL Server 2008 bis aktuelle Version).

Spaltenname

Datentyp

Beschreibung

file_id

int

ID der Datei in der Datenbank

file_guid

uniqueidentifier

GUID der Datei.

NULL = Die Datenbank wurde von einer früheren Version von SQL Server aktualisiert.

type

tinyint

Dateityp:

0 = Zeilen (schließt Dateien von Volltextkatalogen ein, die auf SQL Server 2014 aktualisiert werden oder darin erstellt werden.)

1 = Protokoll

2 = FILESTREAM

3 = Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

4 = Volltext (Volltextkataloge vor SQL Server 2014; Volltextkataloge, die auf SQL Server 2014 aktualisiert werden oder darin erstellt werden, geben den Dateityp 0 zurück.)

type_desc

nvarchar(60)

Beschreibung des Dateityps:

ROWS (schließt Dateien von Volltextkatalogen ein, die auf SQL Server 2014 aktualisiert werden oder darin erstellt werden.)

LOG

FILESTREAM

FULLTEXT (Volltextkataloge vor SQL Server 2014.)

data_space_id

int

Der Wert kann 0 oder größer sein. 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.

name

sysname

Logischer Name der Datei in der Datenbank

physical_name

nvarchar(260)

Betriebssystem-Dateiname Wenn die Datenbank von einem lesbaren sekundären Replikat (AlwaysOn) gehostet wird, gibt physical_name den Speicherort der primären Replikatdatenbank an. Um den richtigen Speicherort einer lesbaren sekundären Datenbank abzufragen, verwenden Sie sys.sysaltfiles.

state

tinyint

Dateistatus:

0 = ONLINE

1 = RESTORING

2 = RECOVERING

3 = RECOVERY_PENDING

4 = SUSPECT

5 = Nur für Informationszwecke identifiziert. Nicht unterstützt. Zukünftige Kompatibilität wird nicht sichergestellt.

6 = OFFLINE

7 = DEFUNCT

state_desc

nvarchar(60)

Beschreibung des Dateistatus:

ONLINE

RESTORING

RECOVERING

RECOVERY_PENDING

SUSPECT

OFFLINE

DEFUNCT

Weitere Informationen finden Sie unter Dateistatus.

size

int

Aktuelle Größe der Datei in Seiten mit einer Größe von 8 KB.

0 = Nicht zutreffend

Für eine Datenbank-Momentaufnahme gibt size den Speicherplatz an, den die Momentaufnahme maximal für die Datei verwenden kann.

Bei FILESTREAM-Dateigruppencontainern gibt size die derzeit für den Container verwendete Größe an.

max_size

int

Maximale Dateigröße in Seiten mit einer Größe von 8 KB:

0 = Keine Vergrößerung zulässig.

-1 = Datei wird vergrößert, bis der Datenträger voll ist.

268435456 = Protokolldatei wird bis zu einer maximalen Größe von 2 TB vergrößert.

Hinweis

Datenbanken, die mit einer unbegrenzten Protokolldateigröße aktualisiert werden, melden -1 für die maximale Größe der Protokolldatei.

Bei FILESTREAM-Dateigruppencontainern gibt max_size die derzeit für den Container verwendete maximale Größe an.

growth

int

0 = Die Datei hat eine feste Größe und wird nicht vergrößert.

>0 = Die Datei wird automatisch vergrößert.

Falls is_percent_growth = 0, erfolgt die Vergrößerung in Schritten von 8-KB-Seiten, gerundet auf die nächsten 64 KB.

Falls is_percent_growth = 1, erfolgt die Vergrößerung als ganzzahliger Prozentwert.

is_media_read_only

bit

1 = Die Datei befindet sich auf einem schreibgeschützten Medium.

0 = Die Datei befindet sich auf einem Lese/Schreib-Medium.

is_read_only

bit

1 = Die Datei ist als schreibgeschützt gekennzeichnet.

0 = Die Datei ist als Lese/Schreib-Datei gekennzeichnet.

is_sparse

bit

1 = Die Datei ist eine Datei mit geringer Dichte.

0 = Die Datei ist keine Datei mit geringer Dichte.

Weitere Informationen finden Sie unter Anzeigen der Größe der Datei mit geringer Dichte einer Datenbank-Momentaufnahme (Transact-SQL).

is_percent_growth

bit

1 = Die Vergrößerung der Datei erfolgt prozentual.

0 = Absolute Vergrößerung in Seiten.

is_name_reserved

bit

1 = Der gelöschte Dateiname (name oder physical_name) kann erst nach der nächsten Protokollsicherung wiederverwendet werden. Wenn Dateien aus einer Datenbank gelöscht werden, bleiben die logischen Namen bis zur nächsten Protokollsicherung reserviert. Diese Spalte ist nur beim vollständigen und beim massenprotokollierten Wiederherstellungsmodell relevant.

create_lsn

numeric(25,0)

Protokollfolgenummer (LSN, Log Sequence Number), bei der die Datei erstellt wurde

drop_lsn

numeric(25,0)

LSN, bei der die Datei gelöscht wurde

0 = Der Dateiname ist nicht für die Wiederverwendung verfügbar.

read_only_lsn

numeric(25,0)

LSN, bei der die Dateigruppe mit der Datei von Lesen/Schreiben in Schreibgeschützt geändert wurde (letzte Änderung)

read_write_lsn

numeric(25,0)

LSN, bei der die Dateigruppe mit der Datei von Schreibgeschützt in Lesen/Schreiben geändert wurde (letzte Änderung)

differential_base_lsn

numeric(25,0)

Die Basis für differenzielle Sicherungen. Datenblöcke, die nach dieser LSN geändert wurden, werden in eine differenzielle Sicherung eingeschlossen.

differential_base_guid

uniqueidentifier

Der eindeutige Bezeichner der Basissicherung, auf der eine differenzielle Sicherung basiert.

differential_base_time

datetime

Zeit entsprechend differential_base_lsn.

redo_start_lsn

numeric(25,0)

LSN, bei der das nächste Rollforward beginnen muss.

Ist NULL außer wenn state = RESTORING oder state = RECOVERY_PENDING.

redo_start_fork_guid

uniqueidentifier

Eindeutiger Bezeichner des Verzweigungspunkts. Die first_fork_guid der nächsten wiederhergestellten Protokollsicherung muss mit diesem Wert übereinstimmen. Dies stellt den aktuellen Status der Datei dar.

redo_target_lsn

numeric(25,0)

Die LSN, bei der das Onlinerollforward für diese Datei beendet werden kann.

Ist NULL außer wenn state = RESTORING oder state = RECOVERY_PENDING.

redo_target_fork_guid

uniqueidentifier

Die Wiederherstellungsverzweigung, auf der die Datei wiederhergestellt werden kann. Zugeordnet mit redo_target_lsn.

backup_lsn

numeric(25,0)

Die LSN der letzten Datensicherung oder differenziellen Sicherung der Datei.

Hinweis

Wenn Sie große Indizes löschen oder neu erstellen bzw. wenn Sie große Tabellen löschen oder abschneiden, verzögert Database Engine (Datenbankmodul) die Aufhebung der aktuellen Seitenzuordnungen sowie die zugehörigen Sperren, bis für die Transaktion ein Commit ausgeführt wird.Verzögerte Löschvorgänge geben zugeordneten Speicherplatz nicht sofort frei.Daher spiegeln die von sys.database_files unmittelbar nach dem Löschen oder Abschneiden eines großen Objekts zurückgegebenen Werte nicht unbedingt den tatsächlich verfügbaren Speicherplatz wider.

Berechtigungen

Erfordert die Mitgliedschaft in der Rolle public. Weitere Informationen finden Sie unter Konfigurieren der Sichtbarkeit von Metadaten.

Siehe auch

Verweis

Datenbanken und Dateikatalogsichten (Transact-SQL)

sys.databases (Transact-SQL)

sys.master_files (Transact-SQL)

sys.data_spaces (Transact-SQL)

Konzepte

Dateistatus

Datenbankdateien und Dateigruppen