|
|
|
|
|
 |
SQL Habergrubu |
|
 |
|
En Son SQL Server ile İlgili Okuduğum Kitaplar |
- 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 |
|