Beschreibung der Unterstützung für SQL Server Datenbanken auf komprimierten Volumes

In diesem Artikel wird das Datenbankdateispeicherverhalten von SQL Server auf komprimierten Laufwerken beschrieben.

Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 231347

Zusammenfassung

SQL Server Datenbanken werden auf komprimierten NTFS- oder FAT-Volumes nicht unterstützt, außer unter besonderen Umständen für SQL Server 2005 und höhere Versionen. Ein komprimiertes Volume garantiert keine sektorbezogenen Schreibvorgänge, und diese sind erforderlich, um unter bestimmten Umständen die Transaktionswiederherstellung zu gewährleisten.

Bei SQL Server 2005 und höheren Versionen verhält sich der Datenbankdateispeicher auf komprimierten Laufwerken wie folgt:

  • Wenn Ihre Datendatei zu einer schreibgeschützten Dateigruppe gehört, ist die Datei zulässig.

  • Wenn Ihre Datendatei zu einer schreibgeschützten Datenbank gehört, ist die Datei zulässig.

  • Wenn Ihre Transaktionsprotokolldatei zu einer schreibgeschützten Datenbank gehört, ist die Datei zulässig.

  • Wenn Sie versuchen, eine Datenbank mit Lese-/Schreibzugriff mit Dateien auf einem komprimierten Laufwerk anzuzeigen, generiert SQL Server den folgenden Fehler:

    Msg 5118, Ebene 16, Status 2, Zeile 1 Die Datei "<file_name>" ist komprimiert, befindet sich aber nicht in einer schreibgeschützten Datenbank oder Dateigruppe. Die Datei muss dekomprimiert werden.

Weitere Informationen zu Ausschlüssen für schreibgeschützte Datenbanken und schreibgeschützte Dateigruppen in SQL Server 2008 finden Sie auf der folgenden MSDN-Website:

Schreibgeschützte Dateigruppen und Komprimierung

Hinweis

Dieses Thema gilt auch für SQL Server 2012 und höhere Versionen.

Weitere Informationen

Obwohl es physisch möglich ist, SQL Server Datenbanken auf komprimierten Volumes hinzuzufügen, wird dies nicht empfohlen und nicht unterstützt. Die zugrunde liegenden Gründe hierfür sind die folgenden:

  • Leistung

    Datenbanken auf komprimierten Volumes können einen erheblichen Leistungsaufwand verursachen. Der Betrag variiert je nach E/A-Volumen und dem Verhältnis von Lese- zu Schreibvorgängen. Unter einigen Bedingungen wurden jedoch über 500 Prozent Verschlechterung beobachtet.

  • Datenbankwiederherstellung

    Die zuverlässige Transaktionswiederherstellung der Datenbank erfordert sektororientierte Schreibvorgänge, und komprimierte Volumes unterstützen dieses Szenario nicht. Ein zweites Problem betrifft die interne Wiederherstellungsspeicherverwaltung. SQL Server reserviert intern vorab zugewiesenen Speicherplatz in Datenbankdateien für Rollbacks. Auf komprimierten Volumes kann bei vorab zugewiesenen Dateien ein Fehler vom Typ "Nicht verfügbar" empfangen werden. Dies beeinträchtigt die erfolgreiche Wiederherstellung.

In bestimmten Szenarien ist eine SQL Server Sicherung auf einem komprimierten Volume oder komprimierten Ordner nicht erfolgreich. Wenn dieses Problem auftritt, erhalten Sie eine der folgenden Fehlermeldungen.

  • In Windows Vista und höheren Versionen von Windows

    STATUS_FILE_SYSTEM_LIMITATION Der angeforderte Vorgang konnte aufgrund einer Dateisystemeinschränkung nicht abgeschlossen werden.
    Betriebssystemfehler 665(Der angeforderte Vorgang konnte aufgrund einer Dateisystemeinschränkung nicht abgeschlossen werden)

  • In früheren Versionen von Windows

    STATUS_INSUFFICIENT_RESOURCES nicht genügend Systemressourcen vorhanden sind, um den angeforderten Dienst abzuschließen Betriebssystemfehler 1450(Es sind nicht genügend Systemressourcen vorhanden, um die angeforderte oder 33(Der Prozess kann nicht auf die Datei zugreifen, weil ein anderer Prozess einen Teil der Datei gesperrt hat.)

Weitere Informationen zu diesem Problem finden Sie unter Eine stark fragmentierte Datei auf einem NTFS-Volume wächst möglicherweise nicht über eine bestimmte Größe hinaus.

Hinweis

  • Der Hotfix für Windows Vista und höhere Versionen von Windows, der im KB-Artikel 967351 erläutert wird, löst möglicherweise nicht das Problem der SQL Server Sicherungen, die nicht erfolgreich auf einem komprimierten Volume oder in einem komprimierten Ordner ausgeführt werden. Dieser Hotfix hilft jedoch, das Problem zu vermitteln.
  • Nachdem Sie den Hotfix angewendet haben, der im KB-Artikel 967351 erläutert wird, müssen Sie das Laufwerk, auf dem die Komprimierung aktiviert ist, mithilfe des /L Parameters formatieren. Wenn Sie das Laufwerk, auf dem die Komprimierung aktiviert ist, mithilfe des /L Parameters formatieren, erhöht sich das Segment Bytes per File Records segment von 1.024 Byte auf 4.096 Byte.

SQL Server Sicherungen auf komprimierten Volumes können Speicherplatz sparen. Sie können jedoch die CPU-Auslastung während des Sicherungsvorgangs erhöhen. Es wird immer empfohlen, die BACKUP-Prüfsummenfunktionen zu verwenden, um die Datenintegrität zu gewährleisten.

SQL Server erfordert, dass Systeme eine garantierte Übermittlung an stabile Medien unterstützen, wie in den Anforderungen des SQL Server-E/A-Zuverlässigkeitsprogramms beschrieben.

Weitere Informationen zu den Eingabe- und Ausgabeanforderungen für die SQL Server-Datenbank-Engine finden Sie unter Eingabe-/Ausgabeanforderungen der Microsoft SQL Server-Datenbank-Engine.