Freigeben über


Sicherungskomprimierung (SQL Server)

In diesem Thema wird die Komprimierung von SQL Server-Sicherungen beschrieben, einschließlich Einschränkungen, Leistungsabwendung der Komprimierung von Sicherungen, der Konfiguration der Sicherungskomprimierung und des Komprimierungsverhältnisses.

Hinweis

Informationen, welche Editionen von SQL Server 2014 die Sicherungskomprimierung unterstützen, finden Sie unter Features, die von den Editionen von SQL Server 2014 unterstützt werden. Jede Edition von SQL Server 2008 und höher kann eine komprimierte Sicherung wiederherstellen.

Vorteile

  • Da eine komprimierte Sicherung kleiner als eine nicht komprimierte Sicherung derselben Daten ist, erfordert die Komprimierung einer Sicherung in der Regel weniger Geräte-E/A und erhöht daher in der Regel die Sicherungsgeschwindigkeit erheblich.

    Weitere Informationen finden Sie unter Performance Impact of Compressing Backup, later in this topic.

Einschränkungen

Die folgenden Einschränkungen gelten für komprimierte Sicherungen:

  • Komprimierte und nicht komprimierte Sicherungen können nicht in einem Mediensatz koexistieren.

  • In früheren Versionen von SQL Server können keine komprimierten Sicherungen gelesen werden.

  • NTbackups können kein Band mit komprimierten SQL Server-Sicherungen teilen.

Auswirkungen der Leistung der Komprimierung von Sicherungen

Standardmäßig steigt die CPU-Nutzung durch die Komprimierung erheblich, und die bei der Komprimierung zusätzlich verbrauchten CPU-Ressourcen können sich negativ auf gleichzeitige Vorgänge auswirken. Daher können Sie komprimierte Sicherungen mit niedriger Priorität in einer Sitzung erstellen, deren CPU-Auslastung durchden Ressourcengouverneur begrenzt ist. Weitere Informationen finden Sie unter Verwendung der Ressourcenkontrolle, um die CPU-Auslastung durch Sicherungskomprimierung (Transact-SQL) zu begrenzen.

Um ein gutes Bild der E/A-Leistung ihrer Sicherung zu erhalten, können Sie die Sicherungs-E/A auf oder von Geräten isolieren, indem Sie die folgenden Arten von Leistungsindikatoren auswerten:

Informationen zu Windows-Leistungsindikatoren finden Sie in der Windows-Hilfe. Informationen zum Arbeiten mit SQL Server-Leistungsindikatoren finden Sie unter Verwenden von SQL Server-Objekten.

Berechnen des Komprimierungsverhältnisses einer komprimierten Sicherung

Verwenden Sie zum Berechnen des Komprimierungsverhältnisses einer Sicherung die Werte für die Sicherung in den backup_size und compressed_backup_size Spalten der Sicherungssatzverlaufstabelle wie folgt:

backup_size:compressed_backup_size

Beispielsweise gibt ein Komprimierungsverhältnis von 3:1 an, dass Sie etwa 66% auf dem Datenträgerspeicher speichern. Um diese Spalten abzufragen, können Sie die folgende Transact-SQL-Anweisung verwenden:

SELECT backup_size/compressed_backup_size FROM msdb..backupset;  

Das Komprimierungsverhältnis einer komprimierten Sicherung hängt von den daten ab, die komprimiert wurden. Eine Vielzahl von Faktoren kann sich auf das erhaltene Komprimierungsverhältnis auswirken. Zu den wichtigsten Faktoren gehören:

  • Der Datentyp.

    Zeichendaten werden mehr als andere Datentypen komprimiert.

  • Die Konsistenz der Daten zwischen Zeilen auf einer Seite.

    Wenn eine Seite in der Regel mehrere Zeilen enthält, in denen ein Feld denselben Wert enthält, kann eine erhebliche Komprimierung für diesen Wert auftreten. Im Gegensatz dazu wäre eine komprimierte Sicherung für eine Datenbank, die zufällige Daten enthält oder nur eine große Zeile pro Seite enthält, fast so groß wie eine nicht komprimierte Sicherung.

  • Gibt an, ob die Daten verschlüsselt sind.

    Verschlüsselte Daten komprimieren deutlich weniger als gleichwertige unverschlüsselte Daten. Wenn eine transparente Datenverschlüsselung verwendet wird, um eine gesamte Datenbank zu verschlüsseln, verringern komprimierende Sicherungen ihre Größe möglicherweise gar nicht um viel.

  • Gibt an, ob die Datenbank komprimiert ist.

    Wenn die Datenbank komprimiert ist, verringern komprimierende Sicherungen ihre Größe möglicherweise nicht um viel, wenn überhaupt.

Zuweisung von Speicherplatz für die Sicherungsdatei

Bei komprimierten Sicherungen hängt die Größe der endgültigen Sicherungsdatei davon ab, wie komprimierbar die Daten sind, und dies ist unbekannt, bevor der Sicherungsvorgang abgeschlossen ist. Daher verwendet das Datenbankmodul standardmäßig beim Sichern einer Datenbank mithilfe der Komprimierung einen Vorzuordnungsalgorithmus für die Sicherungsdatei. Dieser Algorithmus weist vorab einen vordefinierten Prozentsatz der Größe der Datenbank für die Sicherungsdatei zu. Wenn während des Sicherungsvorgangs mehr Speicherplatz benötigt wird, vergrößert das Datenbankmodul die Datei. Wenn die endgültige Größe kleiner als der zugewiesene Speicherplatz ist, verkleinert das Datenbankmodul die Datei am Ende des Sicherungsvorgangs auf die tatsächliche endgültige Größe der Sicherung.

Verwenden Sie das Trace-Flag 3042, damit die Sicherungsdatei nur nach Bedarf wachsen kann, um ihre endgültige Größe zu erreichen. Die Ablaufverfolgungskennzeichnung 3042 bewirkt, dass der Sicherungsvorgang den Standardalgorithmus für die Sicherungskomprimierung vor der Zuweisung umgehen kann. Dieses Ablaufverfolgungsflag ist nützlich, wenn Sie Speicherplatz einsparen müssen, indem Sie nur die tatsächliche für die komprimierte Sicherung benötigte Größe zuordnen. Die Verwendung dieses Ablaufverfolgungsflags kann jedoch zu einer leichten Leistungseinbuße führen (eine mögliche Erhöhung der Dauer des Sicherungsvorgangs).

Verwandte Aufgaben

Siehe auch

Übersicht über die Sicherung (SQL Server)
Ablaufverfolgungsflags (Transact-SQL)