Grundlegendes zur Größe von Dateien mit geringer Dichte in Datenbanksnapshots

In einem Datenbanksnapshot werden zum Speichern von Daten eine oder mehrere Dateien mit geringer Datendichte verwendet. Beim Erstellen von Datenbanksnapshots werden Dateien mit geringer Dichte mithilfe der Dateinamen in der CREATE DATABASE-Anweisung erstellt. Diese Dateinamen werden in der physical_name-Spalte in sys.master_files gespeichert.

HinweisHinweis

In sys.database_files (sowohl in der Quelldatenbank wie auch in einem Snapshot) enthält die physical_name-Spalte immer die Namen der Quelldatenbankdateien.

Dateien mit geringer Dichte sind ein Feature des NTFS-Dateisystems. Anfangs enthält eine Datei mit geringer Dichte keine Benutzerdaten. Zudem ist der Datei kein Speicherplatz für Benutzerdaten zugeordnet. Allgemeine Informationen zum Verwenden von Dateien mit geringer Dichte in Datenbanksnapshots sowie zum Wachstum von Datenbanksnapshots finden Sie unter Funktionsweise von Datenbanksnapshots.

Unmittelbar nach dem Erstellen beanspruchen Dateien mit geringer Dichte nur wenig Speicherplatz. Während des Schreibens von Daten in diese Datei wird durch NTFS schrittweise der entsprechende Speicherplatz zugeordnet. Grundsätzlich können Dateien mit geringer Dichte durchaus sehr umfangreich werden. Wenn der Speicherplatz für einen Datenbanksnapshot nicht mehr ausreicht, wird dieser als fehlerverdächtig gekennzeichnet und muss gelöscht werden. Dies hat jedoch keine Auswirkungen auf die Quelldatenbank. Alle Vorgänge werden weiterhin normal ausgeführt.

Dateien mit geringer Dichte wachsen in 64 KB-Schritten, weshalb die Größe einer Datei mit geringer Dichte auf dem Datenträger immer einem Vielfachen von 64 KB entspricht. Der letzte 64 KB-Schritt umfasst eine bis acht Seiten mit je 8 KB. Dies hängt davon ab, wie viele Seiten aus der Quelldatenbank kopiert wurden. Das bedeutet, dass die durchschnittliche Größe einer Datei mit geringer Dichte immer leicht über dem eigentlich für die Seiten erforderlichen Speicherplatz liegt.

  • So ermitteln Sie die tatsächliche Größe einer Datei mit geringer Dichte

    Um zu ermitteln, wie viele Bytes jede Datei mit geringer Dichte des Snapshots gerade auf dem Datenträger verwendet, können Sie die size_on_disk_bytes-Spalte der dynamischen Verwaltungssicht von sys.dm_io_virtual_file_stats verwenden.

    Zum Anzeigen des Speicherplatzes, der durch eine Datei mit geringer Dichte in Anspruch genommen wird, können Sie alternativ auch in Microsoft Windows mit der rechten Maustaste auf Eigenschaften klicken und den Wert unter Größe auf Datenträger ablesen.

  • So ermitteln Sie die maximale Größe einer Datei mit geringer Dichte

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

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

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

    • Wählen Sie entweder in sys.database_files im Datenbanksnapshot oder in sys.master_files die Spalte für die Größe aus. Der Wert in der size-Spalte von sys.database_files oder sys.master_files gibt den maximal durch einen Snapshot 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:

      ( number_of_pages * 8192)

Änderungsverlauf

Aktualisierter Inhalt

Im Abschnitt "So ermitteln Sie die tatsächliche Größe einer Datei mit geringer Dichte" fn_virtualfilestats durch sys.dm_io_virtual_file_stats ersetzt.