Freigeben über


Anzeigen der Größe der Datei mit geringer Dichte einer Datenbank-Momentaufnahme (Transact-SQL)

In diesem Thema wird beschrieben, wie Sie Transact-SQL verwenden, um zu überprüfen, ob es sich bei einer SQL Server-Datenbankdatei um eine Sparsedatei handelt, und um die tatsächlichen und maximalen Größen zu ermitteln. Sparsedateien, die ein Feature des NTFS-Dateisystems sind, werden von SQL Server Datenbankmomentaufnahmen verwendet.

Hinweis

Beim Erstellen von Datenbankmomentaufnahmen werden Sparsedateien mithilfe der Dateinamen in der CREATE DATABASE-Anweisung erstellt. Diese Dateinamen werden in der Spalte physical_name in sys.master_files gespeichert. In sys.database_files (sowohl in der Quelldatenbank wie auch in einer Momentaufnahme) enthält die Spalte physical_name immer die Namen der Quelldatenbankdateien.

Überprüfen, ob eine Datenbankdatei eine Datei mit geringer Dichte ist

  1. Zum instance von SQL Server:

    Wählen Sie entweder in der Datenbank-Momentaufnahme unter sys.database_files oder in sys.master_files die Spalte is_sparseaus. Der Wert gibt wie folgt an, ob die Datei eine Sparsedatei ist:

    1 = Die Datei ist eine Sparsedatei.

    0 = Die Datei ist keine Sparsedatei.

Ermitteln der tatsächlichen Größe einer Datei mit geringer Dichte

Hinweis

Sparsedateien wachsen in 64-KB-Schritten, weshalb die Größe einer Sparsedatei auf dem Datenträger immer einem Vielfachen von 64 KB entspricht.

Um die Anzahl der Bytes anzuzeigen, die jede Sparsedatei eines Momentaufnahme derzeit auf dem Datenträger verwendet, fragen Sie die size_on_disk_bytes Spalte der dynamischen Verwaltungssicht SQL Server sys.dm_io_virtual_file_stats ab.

Zum Anzeigen des Speicherplatzes, der durch eine Sparsedatei in Anspruch genommen wird, klicken Sie in Microsoft Windows mit der rechten Maustaste auf Eigenschaften, und lesen Sie den Wert unter Größe auf Datenträger ab.

Ermitteln der maximalen Größe einer Datei mit geringer Dichte

Eine Datei mit geringer Dichte kann maximal die Größe der Quelldatenbankdatei erreichen, die zum Zeitpunkt der Momentaufnahmeerstellung festgelegt wurde. Zur Ermittlung dieser Größe stehen Ihnen die folgenden Alternativen zur Auswahl:

  • Verwenden der Windows-Eingabeaufforderung:

    1. Verwenden Sie die dir -Befehle an der Eingabeaufforderung von Windows.

    2. Wählen Sie die Datei mit geringer Größe aus, öffnen Sie in Windows das Dialogfeld Eigenschaften der Datei, und lesen Sie den Wert für die Größe ab.

  • Zum instance von SQL Server:

    Wählen Sie entweder in sys.database_files in der Datenbank-Momentaufnahme oder in sys.master_files die size-Spalte aus. Der Wert in der size -Spalte gibt den maximal durch eine Momentaufnahme verwendbaren Speicherplatz in SQL-Seiten an. Dieser Wert entspricht dem Feld Größe in Windows. Der einzige Unterschied besteht darin, dass hierbei die Anzahl der SQL-Seiten in der Datei angegeben wird. Die Größe in Bytes kann daraus wie folgt errechnet werden:

    ( Seitenanzahl * 8192)

Weitere Informationen

Datenbank-Momentaufnahmen (SQL Server)
sys.fn_virtualfilestats (Transact-SQL)
sys.database_files (Transact-SQL)
sys.master_files (Transact-SQL)