Sicherungskomprimierung (SQL Server)Backup Compression (SQL Server)

In diesem Thema wird die Komprimierung von SQL ServerSQL Server -Sicherungen beschrieben, einschließlich Einschränkungen und Leistungseinbußen bei der Sicherungskomprimierung, Konfiguration der Sicherungskomprimierung sowie Komprimierungsverhältnis.This topic describes the compression of SQL ServerSQL Server backups, including restrictions, performance trade-off of compressing backups, the configuration of backup compression, and the compression ratio. Die Sicherungskomprimierung wird auf folgenden Editionen von SQL Server 2016SQL Server 2016 unterstützt: Enterprise, Standard und Developer.Backup compression is supported on SQL Server 2016SQL Server 2016 editions: Enterprise, Standard, and Developer. Jede Edition von SQL Server 2008SQL Server 2008 und höhere Versionen können eine komprimierte Sicherung wiederherstellen.Every edition of SQL Server 2008SQL Server 2008 and later can restore a compressed backup.

Vorteile Benefits

  • Da eine komprimierte Sicherung kleiner als eine unkomprimierte Sicherung derselben Daten ist, wird für das Komprimieren einer Sicherung normalerweise weniger Geräte-E/A benötigt, und daher steigt die Sicherungsgeschwindigkeit in der Regel erheblich.Because a compressed backup is smaller than an uncompressed backup of the same data, compressing a backup typically requires less device I/O and therefore usually increases backup speed significantly.

    Weitere Informationen finden Sie unter Auswirkungen der Sicherungskomprimierung auf die Leistungweiter unten in diesem Thema.For more information, see Performance Impact of Compressing Backups, later in this topic.

Einschränkungen Restrictions

Für komprimierte Sicherungen gelten die folgenden Einschränkungen:The following restrictions apply to compressed backups:

  • Komprimierte und nicht komprimierte Sicherungen können nicht nebeneinander in einem Mediensatz bestehen.Compressed and uncompressed backups cannot co-exist in a media set.

  • Frühere Versionen von SQL ServerSQL Server können komprimierte Sicherungen nicht lesen.Previous versions of SQL ServerSQL Server cannot read compressed backups.

  • Mit "NTbackup" erstellte Sicherungen können nicht auf demselben Band gespeichert werden wie komprimierte SQL ServerSQL Server -Sicherungen.NTbackups cannot share a tape with compressed SQL ServerSQL Server backups.

Auswirkungen der Sicherungskomprimierung auf die Leistung Performance Impact of Compressing Backups

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.By default, compression significantly increases CPU usage, and the additional CPU consumed by the compression process might adversely impact concurrent operations. Daher ist es u.U. sinnvoll, in einer Sitzung, bei der die CPU-Nutzung durchResource Governoreingeschränkt ist, komprimierte Sicherungen mit niedriger Priorität zu erstellen.Therefore, you might want to create low-priority compressed backups in a session whose CPU usage is limited byResource Governor. Weitere Informationen finden Sie unter Einschränken der CPU-Nutzung durch die Sicherungskomprimierung mithilfe der Ressourcenkontrolle (Transact-SQL)eingeschränkt ist, komprimierte Sicherungen mit niedriger Priorität zu erstellen.For more information, see Use Resource Governor to Limit CPU Usage by Backup Compression (Transact-SQL).

Wenn Sie genau wissen möchten, welche Leistung die Sicherungs-E/A erbringt, können Sie die Sicherungs-E/A zu und von den Geräten beurteilen, indem Sie die folgenden Arten von Leistungsindikatoren analysieren:To obtain a good picture of your backup I/O performance, you can isolate the backup I/O to or from devices by evaluating the following sorts of performance counters:

  • Windows-E/A-Leistungsindikatoren, wie die Indikatoren für physische DatenträgerWindows I/O performance counters, such as the physical-disk counters

  • Der Leistungsindikator Mediumsdurchsatz Bytes/Sekunde des Objekts SQLServer:SicherungsmediumThe Device Throughput Bytes/sec counter of the SQLServer:Backup Device object

  • Der Leistungsindikator Sicherungs-/Wiederherstellungsdurchsatz/Sekunde des Objekts SQLServer:DatenbankenThe Backup/Restore Throughput/sec counter of the SQLServer:Databases object

    Informationen zu den Windows-Indikatoren finden Sie in der Windows-Hilfe.For information about Windows counters, see Windows help. Informationen zur Arbeit mit SQL Server-Indikatoren finden Sie unter Verwenden von SQL Server-Objekten.For information about how to work with SQL Server counters, see Use SQL Server Objects.

Berechnen des Komprimierungsverhältnisses einer komprimierten Sicherung Calculate the Compression Ratio of a Compressed Backup

Zum Berechnen des Komprimierungsverhältnisses einer Sicherung verwenden Sie die Werte für die Sicherung in den Spalten backup_size und compressed_backup_size der Verlaufstabelle backupset wie folgt:To calculate the compression ratio of a backup, use the values for the backup in the backup_size and compressed_backup_size columns of the backupset history table, as follows:

backup_size:compressed_backup_sizebackup_size:compressed_backup_size

So gibt ein Komprimierungsverhältnis von 3:1 beispielsweise an, dass Sie etwa 66 Prozent an Speicherplatz sparen.For example, a 3:1 compression ratio indicates that you are saving about 66% on disk space. Für eine Abfrage in diesen Spalten können Sie die folgende Transact-SQL-Anweisung verwenden:To query on these columns, you can use the following Transact-SQL statement:

SELECT backup_size/compressed_backup_size FROM msdb..backupset;  

Das Komprimierungsverhältnis einer komprimierten Sicherung ist abhängig von den komprimierten Daten.The compression ratio of a compressed backup depends on the data that has been compressed. Das erzielte Komprimierungsverhältnis kann durch eine Reihe von Faktoren beeinflusst werden.A variety of factors can impact the compression ratio obtained. Zu den Hauptfaktoren gehören:Major factors include:

  • Die Art der Daten.The type of data.

    Zeichendaten lassen sich stärker komprimieren als andere Arten von Daten.Character data compresses more than other types of data.

  • Die Einheitlichkeit der Daten unter den Zeilen einer Seite.The consistency of the data among rows on a page.

    In der Regel enthält eine Seite mehrere Zeilen, in denen ein Feld den gleichen Wert aufweist. Dieser Wert kann möglicherweise sehr stark komprimiert werden.Typically, if a page contains several rows in which a field contains the same value, significant compression might occur for that value. Dagegen ist bei Datenbanken mit Zufallsdaten oder nur einer großen Zeile pro Seite die komprimierte Sicherung beinahe so groß wie eine nicht komprimierte Sicherung.In contrast, for a database that contains random data or that contains only one large row per page, a compressed backup would be almost as large as an uncompressed backup.

  • Verschlüsselungsstatus der Daten.Whether the data is encrypted.

    Verschlüsselte Daten lassen sich deutlich weniger komprimieren als entsprechende unverschlüsselte Daten.Encrypted data compresses significantly less than equivalent unencrypted data. Wird die transparente Datenverschlüsselung zum Verschlüsseln einer gesamten Datenbank verwendet, ändert sich ihre Größe bei einer komprimierten Sicherung unter Umständen kaum oder gar nicht.If transparent data encryption is used to encrypt an entire database, compressing backups might not reduce their size by much, if at all.

  • Komprimierungsstatus der Datenbank.Whether the database is compressed.

    Falls die Datenbank bereits komprimiert ist, ändert sich ihre Größe bei einer komprimierten Sicherung unter Umständen kaum oder gar nicht.If the database is compressed, compressing backups might not reduce their size by much, if at all.

Speicherplatzzuordnung für die Sicherungsdatei Allocation of Space for the Backup File

Bei komprimierten Sicherungen ist die Größe der finalen Sicherungsdatei davon abhängig, wie stark die Daten komprimiert werden können, und dies ist erst bekannt, wenn der Sicherungsvorgang abgeschlossen ist.For compressed backups, the size of the final backup file depends on how compressible the data is, and this is unknown before the backup operation finishes. Wenn eine Datenbank daher mithilfe einer Komprimierung gesichert wird, verwendet das Datenbankmodul standardmäßig einen Vorabzuordnungsalgorithmus für die Sicherungsdatei.Therefore, by default, when backing up a database using compression, the Database Engine uses a pre-allocation algorithm for the backup file. Dieser Algorithmus ordnet der Sicherungsdatei vorab einen vordefinierten Prozentsatz der Größe der Datenbank zu.This algorithm pre-allocates a predefined percentage of the size of the database for the backup file. Wenn während des Sicherungsvorgangs mehr Platz benötigt wird, lässt das Datenbankmodul die Datei wachsen.If more space is needed during the backup operation, the Database Engine grows the file. Wenn die finale Größe kleiner als der reservierte Platz ist, verkleinert das Datenbankmodul die Datei am Ende des Sicherungsvorgangs auf die tatsächliche finale Größe der Sicherung.If the final size is less than the allocated space, at the end of the backup operation, the Database Engine shrinks the file to the actual final size of the backup.

Verwenden Sie das Ablaufverfolgungsflag 3042, damit die Sicherungsdatei nur so viel größer werden kann, wie erforderlich, um die finale Größe zu erreichen.To allow the backup file to grow only as needed to reach its final size, use trace flag 3042. Durch das Ablaufverfolgungsflag 3042 wird bewirkt, dass der Sicherungsvorgang den standardmäßigen Vorabzuordnungsalgorithmus für die Sicherungskomprimierung umgeht.Trace flag 3042 causes the backup operation to bypass the default backup compression pre-allocation algorithm. 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.This trace flag is useful if you need to save on space by allocating only the actual size required for the compressed backup. Dieses Ablaufverfolgungsflag kann jedoch eine leichte Leistungseinbuße (eine mögliche Verlängerung des Sicherungsvorgangs) verursachen.However, using this trace flag might cause a slight performance penalty (a possible increase in the duration of the backup operation).

Siehe auchSee Also

Übersicht über Sicherungen (SQL Server) Backup Overview (SQL Server)
Ablaufverfolgungsflags (Transact-SQL) Trace Flags (Transact-SQL)