Hoþgeldiniz           
   
"SQL Server baþvuru kaynaðýnýz"
Skip Navigation Links
=========
Anasayfa
Makaleler
Hatalar \ Çözümler
Duyurular
Diðer
Ýpuçlarý
Yararlý Adresler
Mesaj TahtasýExpand Mesaj Tahtasý
HakkýmdaExpand Hakkýmda
Ýletiþim
Kullanýcý Adý:
Þifre:
 

Ne Mutlu Türküm Diyene!

SQL Server ile ilgili soru sormak için buraya týklayýn!


Yazýlarýmý nasýl buluyorunuz?






En Son SQL Server ile Ýlgili Okuduðum Kitaplar
- Inside Microsoft SQL Server 2005: Query Tuning and Optimization - MS Press (Ýngilizce)
- Accelerated SQL Server 2008 - Apress (Ýngilizce)
- Designing and Optimizing Data Access by Using SQL Server 2005 - MS Press (Ýngilizce)
- Microsoft SQL Server 2005 Database Solutions Design - Wiley Publishing (Ýngilizce)- Optimizing and Maintaining a Database Administration Solution by Using SQL Server 2005 - MS Press (Ýngilizce)- Designing a Database Server Infrastructure Using SQL Server 2005 - MS Press (Ýngilizce)- SQL Server 2005 Implementation and Maintenance - MS Press (Ýngilizce)
- SQL Server 2005 Administrators Companion - MS Press (Ýngilizce)


       
SQL SERVER 2008 : Yedek Sýkýþtýrma (Backup Compression) Özelliði

Son güncelleme tarihi: 22 Kasým 2007
  


Merhaba arkadaþlar,

Bu makalemde sizlere SQL Server 2008 ile birlikte gelen Sýkýþtýrýlmýþ Yedekleme (Compressed Backup) özelliðinden bahsedeceðim.

Bazýlarýnýzýn da bildiði gibi, bu sýkýþtýrýlmýþ yedekleme özelliði gerçekten çok gerekiyordu. Veritabaný yöneticileri açýsýndan veritabanlarý konusundaki en önemli þeyler güvenlik, verinin kullanýlabilirliði ve performanstýr. Yedekleme, veritabaný yöneticileri için hayati ve sürekli yapýlmasý gereken bir iþlemdir. Her zaman son yedeðiniz kadar güvendesinizdir.

SQL Server 2008' den önceki SQL Server versiyonlarýnda maalesef sýkýþtýrma özelliði yoktu. Bazý veritabaný yöneticileri bu ihtiyaçlarýný üçüncü parti yazýlýmlar (Red-Gate Backup gibi) kullanarak gideriyordu.

Peki, sýkýþtýrma neden gerekiyor? Yukarýda da dediðim gibi, veritabaný yöneticilerinin sürekli yedek almalarý gerekiyor. Diskler artýk eskisi gibi pahalý deðiller, çok daha kolay alabiliyoruz; fakat eðer doðru ve düzenli bir þekilde kullanýlmazlarsa bir süre sonra disk yönetimi de sorun olmaya baþlýyor. Örnek vermek gerekirse, SQL Server sunucularýndan sorumlu olduðum büyük bir firma, disklerini çok kötü kullanýyordu. Raporlarýmda sürekli belirtmeme raðmen geliþi güzel yedekler alýp oraya buraya atýyorlardý ve sonunda ne oldu tahmin edin! Evet, patladýlar =)

Eðer yedeklerimizi düzenli ve kontrollü bir þekilde alýrsak, böyle sorunlarla karþýlaþmayýz. Neyse, çok daðýtmadan hemen sýkýþtýrmanýn neden gerektiðine de bir vurgu yapýp hemen yeni özelliklerden bahsedeyim. Gerçi artýk vurguya da gerek kalmadý, söylemek istediðim þeyi sanýrým çoktan anlamýþsýnýzdýr... Bol yedek alacaðýmýz için, disk alanlarýndan kazanmamýz gerekiyor. Ayrýca, sýkýþtýrma yöntemi kullanacaðýmýz için dosya boyutu daha küçük olacak, yani G\Ç (I\O) iþlemleri de azalacak. Her þekilde kazanmýþ oluyoruz. Tek kayýp var, ondan da sýrasý gelince bahsedeceðim.

Sýkýþtýrýlmýþ Yedek özelliði sadece SQL Server 2008' in Enterprise Sürümünde olacak arkadaþlar. Bununla birlikte, bir SQL Server 2008 Enterprise sürümüyle sýkýþtýrýlmýþ veritabaný yedeði, baþka bir SQL Server 2008 sürümüyle (meselâ Standard veya Express) açýlabilecek; fakat diðer sürümler maalesef sýkýþtýrýlmýþ yedek alamayacaklar. Ayrýca, SQL Server' ýn eski versiyonlarý (90, 80, 70...) SQL Server 2008 ile alýnan sýkýþtýrýlmýþ yedekleri açamayacaklar.

Sýkýþtýrýlmýþ bir yedek ile sýkýþtýrýlmamýþ bir yedek ayný medya-set' inde saklanamaz.

Her þeyin ama her þeyin bir bedeli olduðuna inanýrým; evet, bunun da bir bedeli var! Fiyatý hariç =) Bedeli þu: Ýþlemci. Evet arkadaþlar, sýkýþtýrma iþlemi, iþlemcinizi yoracak. Bununla birlikte, yukarýda da bahsettiðim gibi yedek alma süresini düþüreceði için G\Ç' dan ("Girdi\Çýktý" Bu terimden, fiziksel disklere yapýlan yazma ve okumalar kastediliyor.) kâr edeceksiniz.

Bu sýkýþtýrma iþinin gördüðünüz gibi bazý maliyetleri olacaðý için, bu iþe kalkýþmadan önce gerekli performans testlerini yapmanýzý tavsiye ederim. Ve de yedeklerinizi iþ saatleri dýþýnda almanýzý tavsiye ederim. Ýþlemci o zamanlar daha az kullanýlýyor olacaktýr. Ayrýca, sýkýþtýrýlmýþ yedek alacaðýnýz zaman iþ saatlerinde iþlemcinize ekstra yük bindirmemiþ olursunuz. Performans testlerini Yönetimsel Araçlar' daki Sistem Monitörü ile yapabilirsiniz.

Sýkýþtýrýlmýþ veritabaný yedeði özelliði hem sunucu düzeyinde varsayýlan olarak ayarlanabilir, hem de yedek alýrken T-SQL komutunun içerisinde siz de belirleyebilirsiniz. Ve tabii ki, SSMS' te yedekleme iþlemi için menüleri kullanarak da belirlenebilir.

Bu yöntemlere dair bir kaç tane örnek ve resim de göstermek istiyorum sizlere.

Sunucu düzeyinde ayar yapmak için:
- sp_configure Transact-SQL komutunu kullanabilirsiniz,

veya

- SSMS arayüzünü kullanarak, aþaðýdaki resimde de gösterdiðim yerden varsayýlan ayar deðiþikliðini yapabilirsiniz.



Sunucu düzeyinde yapýlan varsayýlan sýkýþtýrýlmýþ yedek alma ayarýndan farklý bir yedek almak için ise aþaðýdaki yöntemleri kullanabilirsiniz:

- BACKUP DATABASE \ LOG komutu ile birlikte WITH NO_COMPRESSION veya WITH COMPRESSION anahtarlarýný kullanabilirsiniz.

veya

- SSMS kullanarak aldýðýnýz yedeðin Seçenekler menüsünden "Compress backup" veya "Do not commpress backup" seçeneklerini kullanarak ihtiyacýnýza göre yedek alabilirsiniz. Ayarý nereden yapacaðýnýza dair de bir resim ekliyorum aþaðýya.




Tabii bir de veritabanlarýnýn neye göre ve ne kadar sýkýþtýrýlacaðý konusu var. Bu konuda da aþaðýdaki bilgileri dikkate alýn. Veritabanlarýnýzýn yedekleri, bu kriterlere göre çok veya az sýkýþtýrýlacaktýr.

- Verinin tipi: Her zaman olduðu gibi (Winzip veya Winrar vb. programlarda) karakterler daha çok sýkýþtýrýlýr.

- Sayfa (Page)' lardaki satýrlarýn veri bütünlüðü: Tipik olarak, bir sayfadaki satýrlarda bulunan verriler ayný deðerleri içeriyorsa önemli bir miktarda sýkýþtýrma oraný yakalayabilirsiniz. Tam tersi bir senaryoda ise, yani eðer her sayfada büyük ve sadece bir satýr varsa veya veritabanýnýzda hep farklý farklý, birbirine benzemeyen veriler varsa o zaman sýkýþtýrýlmýþ veritabaný yedeðinizin boyutu, hiç sýkýþtýrýlma iþlemine uðramamýþ veritabaný yedeðiyle ayný olacaktýr büyük ihtimalle.

- Verilerinizi þifreli olup olmadýðý (Encrypted): Sýkýþtýrýlmýþ veritabaný yedeðiniz, þifrelenmemiþ benzerlerine göre çok daha az sýkýþtýrýlacaktýr.

- Veritabanýnýzýn sýkýþtýrýlmýþ olup olmadýðý: Bu durumda sýkýþtýrýlmýþ veritabaný yedeðiniz neredeyse hiç bir boyut azalmasýna neden olmayacaktýr.

Not: Bu son öðede lütfen yanlýþ anlaþýlma olmasýn. SQL Server 2008' de, veritabanýný da sýkýþtýrabiliyorsunuz. Yani veritabanýný sýkýþtýrmak baþka bir iþlem, sýkýþtýrýlmýþ veritabaný yedeði almak baþka bir iþlem.

Özet:
Size bu makalemde SQL Server 2008 Enterprise Edition ile birlikte gelecek olan Yedek Sýkýþtýrma (Backup Compression) özelliðini anlatmaya çalýþtým. Umarým yararlý olmuþtur.


Ekrem Önsoy

Anasayfa


 
Bu sitenin tüm haklarý, Ekrem Önsoy' a aittir.