News zu Servicewelten

DBA Tipp: Back­up­kom­pri­mie­rung des Microsoft SQL Servers zur Ver­klei­ne­rung der Backups

Durch den Ausfall einer Platte mit Da­ten­bank­da­tei­en oder durch das un­be­ab­sich­tig­te Löschen/Überschreiben von Daten bzw. Tabellen kann es schnell zu Da­ten­ver­lust kommen. Re­gel­mä­ßi­ge Datenbank Backups gehören daher zu den wich­tigs­ten Maßnahmen um zu ver­hin­dern, dass un­ter­neh­mens­kri­ti­sche In­for­ma­tio­nen verloren gehen. Backups großer Da­ten­ban­ken können jedoch das vor­ge­se­he­ne Zeit­fens­ter oder den zur Verfügung stehenden Spei­cher­platz schnell sprengen. Eine Kom­pri­mie­rung der Backups ist daher emp­feh­lens­wert, wenn du diese mit möglichst geringem Zeit­auf­wand durch­füh­ren möchtest und/oder der zur Verfügung stehende Spei­cher­platz begrenzt ist.

Im Folgenden haben wir ein paar Tipps für dich, was du bei der Back­up­kom­pri­mie­rung des Microsoft SQL Servers beachten solltest und mit welcher Abfrage du das Ein­spar­po­ten­ti­al ermitteln kannst.

Der Microsoft SQL Server bietet bereits seit der Version 2008 die Mög­lich­keit einer Back­up­kom­pri­mie­rung an. Während anfangs die En­ter­pri­se Edition benötigt wurde, ist diese Funktion seit der Version 2008 R2 auch in der Standard Edition enthalten.

Al­ter­na­tiv kann für große Tabellen oder Indizes auch die Ta­bel­len­kom­pri­mie­rung verwendet werden, um den Spei­cher­be­darf der Datenbank und schluss­end­lich der Backups zu senken. Bis zum SQL Server 2016 RTM war hierfür die En­ter­pri­se Edition ob­li­ga­to­risch. Seit dem SQL Server 2016 SP1 wird die Ta­bel­len­kom­pri­mie­rung auch in der Standard Edition unterstützt.

Um die Back­up­kom­pri­mie­rung in der Instanz stan­dard­mä­ßig zu verwenden, muss lediglich der Haken bei „Compress Backup“ unter „Database Settings“ in den Ei­gen­schaf­ten der Instanz gesetzt werden.

Als weitere Mög­lich­keit kann die Sicherung auch für jedes Backup einzeln kon­fi­gu­riert werden. Dafür wird einfach die ge­wünsch­te Option im Dropdown „Set backup com­pres­si­on“ im As­sis­ten­ten „Back Up Database“ unter „Backup Options“ ausgewählt.

Das Ein­spar­po­ten­ti­al kannst du über die folgende Abfrage ermitteln:

SELECT bset.database_name
  , CASE bset.type  
      WHEN 'D' THEN 'Database' 
      WHEN 'L' THEN 'Log' 
      WHEN 'I' THEN 'Differential' 
   END AS backup_type
  , CONVERT(DATETIME2(0), bset.backup_start_date)
    AS backup_start_date
  , CONVERT(DATETIME2(0), bset.backup_finish_date)
    AS backup_finish_date
  , DATEDIFF (s, bset.backup_start_date, bset.backup_finish_date)
    AS 'Time To Backup (sec)'
  , ROUND(CONVERT(FLOAT, bset.compressed_backup_size/1024/1024), 2)
    AS 'Compr. Size (MB)'
  , ROUND(CONVERT(FLOAT, bset.backup_size/1024/1024), 2)
    AS 'Uncompr. Size (MB)'
  , FORMAT(CONVERT (FLOAT, bset.compressed_backup_size) /
           CONVERT (FLOAT, bset.backup_size), 'P')
    AS 'Compr. Ratio'
FROM msdb.dbo.backupset AS bset
WHERE database_name = 'AdventureWorks2019'
ORDER BY 
   bset.database_name, 
   bset.backup_finish_date;

Es erscheint nach­fol­gen­de Ausgabe:

Screenshot Einsparpotential Backupkomprimierung SQL Server

Falls eine zu sichernde Datenbank al­ler­dings mittels Trans­pa­rent Data En­cryp­ti­on (TDE) ver­schlüs­selt wurde, wird der Spei­cher­platz, durch die Back­up­kom­pri­mie­rung, bis ein­schließ­lich SQL-Server 2014, nicht gesenkt.

Erst ab SQL Server 2016 wird die Kom­pri­mie­rung der Backups von TDE-ver­schlüs­sel­ten Da­ten­ban­ken un­ter­stützt. Dabei ist zu beachten, dass, bis ein­schließ­lich SQL Server 2019 CU4, der Parameter MAX­TRANS­FER­SI­ZE auf einen Wert größer 65536 gesetzt werden muss. Dieser kann wie über T‑SQL wie folgt gesetzt werden:

BACKUP DATABASE [AdventureWorks2012]
  TO  DISK = N'\\BackupSrv\MSSQL\AW_compressed.bak' 
    WITH
      COMPRESSION,
      MAXTRANSFERSIZE = 65537

Fazit

Eine Kom­pri­mie­rung der Backups ist in vielen Fällen loh­nens­wert, besonders wenn der zur Verfügung stehende Spei­cher­platz begrenzt ist. Un­ab­hän­gig davon sollten Back­up­grö­ße und ‑dauer re­gel­mä­ßig mittels Mo­ni­to­ring überprüft werden. So lassen sich etwaige Probleme – wie z.B. das Voll­lau­fen der Platte oder des Shares – vermeiden. 

Du hast Fragen zum Thema Back­up­kom­pri­mie­rung oder dem Durch­füh­ren von Backups allgemein? Melde dich einfach bei uns. Gern schauen wir gemeinsam mit dir über deine Da­ten­bank­in­fra­struk­tur, um Op­ti­mie­rungs­mög­lich­kei­ten zu eruieren. 

Hier findest du weitere in­ter­es­san­te Posts zu den Themen Microsoft und Backup aus unserem News und Insights Bereich.

icon-arrow_right_medium-violet-blue.svg

Share this article

Facebook 
Twitter 
LinkedIn 
XING 
WhatsApp 
Email