SQL Server 2008 – Data Compression

Im Rahmen der Kategorie “Schnelle Statements” anbei ein Funktionsaufruf, um das mögliche Einsparpotential der Datenkompression im SQL Server 2008 abschätzen zu können:

exec sp_estimated_data_compression_savings <Schemaname>, <Objektname>, <Index_ID>, <Parition_Nummer>, <Kompressionstyp>

Die wählbaren Kompressionstypen sind:

  • NONE
  • ROW
  • PAGE

Nicht vergessen sollte man aber trotz der berechneten Einsparpotentiale, das man für die initiale Kompression mehr Platz benötigt als vorher, da diese nach folgendem groben Ablauf funktioniert:

  • erzeugen einer Schattentabelle der zu kompressierenden Tabelle
  • Komprimieren der Daten aus der originären Tabelle in die Schattentabelle
  • umbenennen der Tabelle und der Schattentabelle, so das die Schattentabelle anschließend den originären Namen der Tabelle trägt
  • löschen der Ursprungstabelle

Daher wird für den Zeitraum der Kompression der originäre Platz der Tabelle + min. die berechnete neue Größe nach der Kompression benötigt.