Nachdem der neueste CTP5 Release des SQL Server 2008 zur Verfügung steht, habe ich mir natürlich sogleich das neue Feature Data und Backup Compression angeschaut. Diverse Third-Party Tools wie z.b von RedGate, Idera usw. beherrschen diese Disziplin bereits seit längerem – und das nicht schlecht! Vorweg – Data Compression wird erst im CTP6 Release verfügbar sein: http://blogs.msdn.com/sqlserverstorageengine/archive/2007/11/20/data-compression-will-be-available-in-ctp-6.aspx und ist nebenbei erwähnt - ein Enterprise Only Feature! Nun denn – Backup Compression ist dafür bereits vorhanden und kann getestet werden. Auch dieses Feature wird ein Enterprise Only Feature sein. (verfügbar in EE / DEV)
Wichtig!: ALLE Editionen unterstützen den RESTORE von komprimierten Backups.

Die Komprimierungsraten sind natürlich stark abhängig von den verwendeten Daten, bewegen sich aber so um die 5:1 Ratio. Selbstverständlich müssen hier Tests mit eigenen Datenbanken erfolgen um genaue Ratio-Werte zu erhalten.
Als kleiner Vergleich hab ich mal die AdventureWorks jeweils kurz OHNE COMPRESSION und danach MIT COMPRESSION erstellt.

Hier die Werte:
/*Backup with NO COMPRESSION*/
BACKUP DATABASE AdventureWorks TO DISK='D:\Data\MSSQL.2\MSSQL\Backup\AdventureWorks_WNC.bak'
WITH FORMAT, NO_COMPRESSION
GO
-------------------------------------------------------------
/* Result
Backup File is 135MB
SQLSERVER\KATMAI(Domain\User):Processed 16816 pages for database 'AdventureWorks',
file 'AdventureWorks_Data' on file 1.
SQLSERVER\KATMAI(Domain\User):Processed 1 pages for database 'AdventureWorks',
file 'AdventureWorks_Log' on file 1.
SQLSERVER\KATMAI(Domain\User):
BACKUP DATABASE successfully processed 16817 pages in 6.739 seconds (20.442 MB/sec).*/Man beachte hier noch die benötigte Zeit und den Durchsatz!
Und nun...
/*Backup with COMPRESSION*/
BACKUP DATABASE AdventureWorks TO DISK='D:\Data\MSSQL.2\MSSQL\Backup\AdventureWorks_WC.bak'
WITH FORMAT, COMPRESSION
GO
-------------------------------------------------------------
/* Result
Backup File is 34MB!! - Cool :-)
SQLSERVER\KATMAI(Domain\User):Processed 16816 pages for database 'AdventureWorks',
file 'AdventureWorks_Data' on file 1.
SQLSERVER\KATMAI(Domain\User):Processed 1 pages for database 'AdventureWorks',
file 'AdventureWorks_Log' on file 1.
SQLSERVER\KATMAI(Domain\User):BACKUP DATABASE successfully processed 16817 pages in 2.831 seconds (48.662 MB/sec).*/-
SUPERCool :-)
-------------------------------------------------------------

Das BackupFile ist ca. Faktor 4 kleiner und ca. 3x schneller geschrieben.
Klar – durch die Compression muss natürlich auch weniger geschrieben werden – und somit logischerweise auch schneller.

Fazit: Andere BackupTest mit sehr viel grösseren Datenmengen zeigen sehr beeindruckende Werte und sparen enorm viel Diskspace. Diese Option wird bestimmt bei vielen Kunden grosse Freude machen und kann zukünftig viel Kosten einsparen.