Home > Compression, SQL Server 2008 > SQL Server 2008 Backup Compression

SQL Server 2008 Backup Compression

Jedna od novih funkcionalnosti SQL Servera 2008 je i mogućnost kompresije backupa (backup compression). Native SQL Server backup (bez kompresije) zauzima približno isti prostor na disku kolika je i količina podataka u bazi. To u okruženjima s velikim bazama podataka, kada poslovna politika zahtjeva čuvanje više kopija backupa, znači i veliku potrošnju diskovnog prostora (ili traka) ali i gubitka vremena (što je veći backup – kreiranje backupa zahtjeva više vremena zbog IO operacija, kopiranje backupa traje duže itd.). Prije SQL Servera 2008 rješenje je bilo u nabavci softverskih alata od strane third-party proizvođača.

SQL Server 2008 donosi mogućnost kompresije backupa, što je obradovalo mnoge administratore a pogotovo one koji više vole koristiti native SQL Server backup (kao što sam ja). Kompresija backupa u SQL Server 2008 verziji podržana je samo u Enterprise izdanju dok SQL Server 2008 R2 omogučava kompresiju backupa i u Standard i Enterprise izdanju.

Kako uključiti backup kompresiju

Nakon instalacije SQL servera, funkcionalnost je isključena ali se vrlo jednostavno može uključiti za čitavu instancu SQL Servera. Ukoliko backup kompresiju uključite na nivou instance, svaki backup koji napravite biti će urađen s kompresijom. Sljedeća T-SQL naredba će uključiti backup kompresiju na nivou instance SQL Servera:

EXEC sys.sp_configure 'backup compression default', '1'
GO
RECONFIGURE WITH OVERRIDE
GO

Oni koji više vole koristiti GUI: desni klik na instancu SQL servera u SSMS i klik na Properties. U Server Properties prozoru, unutar Database Settings opcija odabrati Compress backup.

Backup compression Server Settings

Ukoliko ne želite uključiti kompresiju backupa na nivou instance, vrlo jednostavno možete prilikom kreiranja svakog pojedinačnog backupa specificirati da želite uključiti kompresiju backupa jednostavnim dodavanjem COMPRESSION u WITH klauzuli BACKUP naredbe.

BACKUP DATABASE AdventureWorks2008R2
TO DISK = 'D:\AW_backup.bak'
WITH COMPRESSION

Ili kroz GUI: U Options stranici Back Up Database prozora za Set backup compression opciju odabrati Compress backup.

Database backup compression settings

Media Set i kompresovani/nekompresovani backup

Ukoliko se radi backup na backup device ili se radi append backup-a na fajl, treba znati da nije moguće miješati kompresovane i nekompresovane backup-e. Ukoliko pokušate napraviti kompresovani backup na device koji sadrži nekompresovani backup prijavit će se greška:

Msg 3098, Level 16, State 2, Line 1
The backup cannot be performed because ‘COMPRESSION’ was requested after the media was formatted with an incompatible structure. To append to this media set, either omit ‘COMPRESSION’ or specify ‘NO_COMPRESSION’. Alternatively, you can create a new media set by using WITH FORMAT in your BACKUP statement. If you use WITH FORMAT on an existing media set, all its backup sets will be overwritten.
Msg 3013, Level 16, State 1, Line 1
BACKUP DATABASE is terminating abnormally.

Tako da, ukoliko backup device već sadrži nekompresovani backup, potrebno je formatirati backup device dodavanjem FORMAT u WITH klauzuli BACKUP naredbe.

BACKUP DATABASE AdventureWorks2008R2
TO BackupDevice
WITH FORMAT, COMPRESSION

Bitno je naglasiti, ukoliko se eksplicitno ne navodite WITH COMPRESSION ili NO_COMPRESSION u backup naredbi, backup će naslijediti kompresijska svojstva iz media seta a ne iz serverske konfiguracije.
Pa će, ukoliko pokušate napraviti nekompresovani backup bez specificiranja WITH NO_COMPRESSION (na nivou instance nije uključena backup kompresija) na device koji sadrži kompresovani backup, backup biti izvršen bez greške ali će backup biti kompresovan.
Da bi provjerili da li je media set kreiran s kompresijom ili ne može se koristiti sljedeća naredba:

RESTORE LABELONLY FROM DISK = 'D:\AW_backup.bak'  

Prilikom RESTORE operacije, nije potrebno specificirati o kakvoj vrsti backup fajla se radi, a sve edicije SQL Servera 2008 mogu napraviti restore baze iz kompresovanog backup fajla.

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: