Merhabalar bu makalemizde Microsoft ürün ailesinin veritabanı sunucusu olan MSSQL server’ın kurulumunu ve zamanlanmış veritabanı yedekleme işlemine değineceğiz. Makalemizde MSSQL kurulumunun temel adımlarını ve 3.parti bir yazılım olmaksızın veritabanı mızı nasıl yedekleyebileceğimizi ve bunu nasıl zamanlayacağımıza değineceğiz. Bunula birlikte isterseniz birde 2008 R2 ile gelen yeniliklere biraz değinelim.
Microsoft SQL Server 2008 R2 İle Gelen Özellikler
Microsoft için devrim yılı diyebileceğimiz 2010 yılı içerisinde bir çok başarılı ürün çıkartmıştır. Bu ürünlerden biriside hiç kuşkusuz MSSQL 2008 R2 ürünü. Microsoft bu ürünü ile rakiplerine nazaran daha iyi bir sahip olma maliyeti ve daha ölçeklenebilir bir yapı avantajı sunmaktadır. Ayrıca MSSQL 2008 R2 ürünü için rakiplerine oranla daha az bakım maliyetine sahiptir diyebiliriz de. İsterseniz şimdi SQL 2008 R2 ile gelen yeniliklere değinelim.
SQL Server 2008 R2 Datacenter ve SQL Server 2008 R2 Parallel Data Warehouse için gelen yenilikler.
Datacenter Edition
- 25’ten fazla instances, genel bilgi edinme ve yönetim olanağı sunan Uygulama ve Çoklu Sunucu Yönetimi
- Birleştirme ve sanallaştırma yatırımından en yüksek geri dönüşü sağlayan en kapsamlı sanallaştırma desteği
- SQL Server StreamInsight ile yüksek ölçekli karmaşık etkinlik işleme olanağı™
- En yüksek ölçeklenebilirlik seviyeler için 8’den fazla işlemci ve 256’ya kadar mantıksal işlemci desteği
- İşletim Sisteminin maksimum seviyesine kadar bellek desteği.
Parallel Data Warehouse Edition
- MPP mimarisi sayesinde 10’larca – 100’lerce TB desteği.
- Star Join Queries ve Change Data Capture gibi gelişmiş veri ambarı özellikleri
- SSIS, SSRS ve SSAS ile entegrasyon
- Endüstri standardı veri ambarı kurma merkezi ve bağlı bileşen mimarisi ile paralel veritabanı kopyalama desteği
SQL Server 2008 R2 Enterprise Edition
- SharePoint’te PowerPivot uygulamalarının barındırılmasını ve yönetimini desteklemek için SharePoint için PowerPivot desteği
- 25’ten fazla instances, genel bilgi edinme ve yönetim olanağı sunan Uygulama ve Çoklu Sunucu Yönetimi
- Heterojen sistemlerde veri tutarlılığı için Ana Veri Hizmetleri
- UCS-2 Unicode desteğiyle Veri Sıkıştırma özelliği
- SQL Server StreamInsight™ teknolojisi ile yüksek ölçekli karmaşık olay işleme yeteneği
SQL Server 2008 R2 Standard Edition
- Veri yedeklerini %60’a kadar azaltan ve yedekleme için harcanan zamanı düşüren Yedek Sıkıştırması.
- Uygulama ve çoklu sunucu yönetim özelliği
- SQL Server StreamInsight™ teknolojisi ile yüksek ölçekli karmaşık olay işleme yeteneği
SQL Server 2008 R2 Express Edition
- 10 GB a çıkartılmış Database desteği
Daha detaylı bilgi için ise bu http://www.microsoft.com/sqlserver/2008/tr/tr/whats-new.aspx linke göz atmanızda fayda var. İsterseniz birde senaryolara göre ürün seçimiyle ilgili tablomuza bir bakalım. Resmi büyültmek için resmin üzerine tıklamanız yeterlidir.
Makalemizin ilk adımı olan kurulum işlemi ile başlayalım. Kurulum öncesinde ne gibi gereksinimleri karşılamış olmamamız gerekiyor önce buna değinelim. Donanım gereksinimleri MSSQL 2008 R2 Enterprise sürümü göz önünde tutularak yapılmıştır.
MSSQL 2008 R2 Sistem Gereksinimleri
- .NET 3.5 SP1 veya üstü
- Internet Explorer 6 SP1 veya daha üst bir sürümü
- Microsoft Windows Installer 4.5 veya daha üst bir sürümü
- Powershell
- Windows Yönetici haklarına sahip bir kullanıcı hesabı
- NTFS dosya formatına sahip sabit disk.
MSSQL 2008 R2 Donanım Gereksinimleri
- Minimum 1.4 GHZ hızında işlemci, önerilen 2.0 GHZ ve üstü bir işlemci
- Minimum 1 GB ram, önerilen 4 gb veya daha üstü. Maksimum ram desteği 2 TB.
- Minimum 4 GB boş disk alanı.
Eğer sistem ve donanım gereksinimlerini karşıladığımıza emin isek kuruluma başlayabiliriz. Kurulum öncesinde benimde bahsetmek istediğim birkaç önemli kriter var. Birincisi ben ürünü bir test ortamında inşaat ettiğim ve gerçek hayatta kullanmadığım için Domain kontroller olan bir sunucu üzerine kuruyorum, eğer ki siz gerçek ortamda kullanacağınız bir yapı için bu ürünü tercih etmiş iseniz ürünü domain controller olmayan bir sunucu üzerinde kurmaya özen gösteriniz. İkincisi ise kurulum öncesinde firewall için gerekli ayarlamarı yapınız ve 1433 nolu portu firewall üzerinden erişime açık hale getiriniz. Şimdi isterseniz kurulum aşamamıza geçelim.
1. Adım) Kurulum paketini indirip ayıkla işlemini tamamladıktan sonra Installation diyerek kurulum adımlarını başlatalım.
2. Adım) Biz yeni bir kurulum işlemi yapacağız, Cluster yapımızda şuan için olmayacak. İlerleyen zamanlarda SQL cluster işlemlerine değiniyor olacağız, o yüzden şimdilik New Installation or features to an existing installation diyoruz.
3. Adım) SQL kurulumuz için gerekli dnetleme işlemi gerçekleştiriliyor.
4. Adım) Ürün için eğer var ise lisans anahtarınızı giriniz. Eğer yok ise 180 gün boyunca ürünü denemek için Evaluation seçeneğini işaretleyiniz.
5. Adım) Lisans koşullarını kabul ediyoruz. Eğer ki SQL server için Microsoft’a bildirim göndermek istiyor iseniz aşağıdaki kutucuğu da işaretlemeniz gerekmekte.
6. Adım) Sistemimiz yeniden kontrol ediliyor. Benim burada aldığım uyarılara değinmek gerekirse verdiği uyarılar şu sebepten dolayı kaynaklanıyor. SQL i kurduğum sunucu aynı zamanda bir domain kontroller. Microsoft’un önerisi SQL in domain kontroller üzerine kurulmaması. Bunu yazımızın başlarında da belirtmiştik. Microsoft .Net Application Security için almış olduğum uyarının sebebi ise test sunucusunun üzerinde bulunan IIS 7.5 varsayılan uygulama güvenlik ayarlarından dolayı verilmiş bir uyarıdır. Uyarı detaylarını Warning’e tıklayarak görebilirsiniz. Son uyarının sebebi ise kurulum öncesinde Firewall için gerekli ayarları tamamlamış olmamadan kaynaklanıyor. Bunlar kurulumumu engelleyebilecek uyarılar değildirler . Next diyerek devam ediyorum.
7. Adım) Kurulum rolünü belirtelim.
8. Adım) Kurulacak bileşenleri seçelim. Ben tüm bileşenleri kullanacağım için Select All diyorum. İsterseniz bu bileşenlerin ne olduklarına değinelim, böylece sizlerde neyi neden seçtiğimizi veya neyi neden seçmeniz gerektiğini daha iyi anlayabilirsiniz.
- Database Engine Services : SQL veritabanı servislerini kurar.
- Analysis Services : OLAP (Online Analytical Processing) küp tasarımları ve veri madenciliği için için SQL analiz servisinin kurulumunu sağlar.
- Reporting Services : SQL server için raporlama servisini kurar.
- Business Intelligence Development Studio : İş Zekası projelerinin gerçekleştirildiği özel bir Visual Studio ortamıdır.
- Management Tools : SQL Server 2008 R2 yönetim aracını kurar. Bu SQL serverınızı yönetmeniz için gerekli bir bileşendir.
9. Adım) Sistemimiz bir kez daha kurulum öncesinde kontrol ediliyor. Next diyerek ilerliyoruz.
10. Adım) SQL server adımızı belirtiyoruz. Varsayılan olarak MSSQLSERVER gelmekte. Eğer isterseniz bu varsayılan ismi değiştirebilirsiniz. Varsayılanda kalmasında fayda var ben değiştirmiyorum, eğerki siz değiştirmek ister iseniz Named Instance ı seçerek farklı bir isim verebilirsiniz.
11. Adım) Yeterli disk alanımızın olup olmadığı kontrol ediliyor.
12. Adım) Bu adımda sunucu servislerinin hangi hesapla başlatılacağına ve SQL server dil ve karakter ayarlarının seçimine dair ayarları yapacağız. Öncelikle servislerin başlatılması işlemine değinelim.
Burada bizim mutlaka çalışması gereken 2 tane servisimiz vardır, bunlardan ilki Database servisimiz ikincisi de makalemizin diğer konusunu olan yedekleme işlemlerinin zamanlanmasını sağlayan Agent servisidir. Servislerin başlatılması için eğer bir domain yapınız var ise oluşturduğunuz bir kullanıcı hesabıyla yada Administrator kullanıcısı hesabıyla servislerin başlatılması seçeneğini seçebilirsiniz. Bunun için Brows deyip ilgili kullanıcıyı seçip kullanıcı şifresini girmelisiniz.Eğer ki WORKGROUP ortamında SQL server kullanacaksanız sistem hesabını seçebilirsiniz. Domain ortamında çalışan kişilerde isteklerine göre bu hesabı seçebilirler. Bu ayarlar sonradan değiştirilebilir. Collation tabından ise SQL server dil ayarları yapılmaktadır. Ben dil ve karakter ayarlarında herhangi bir değişiklik yapmıyacağım. Sizler istekleriniz ve gereksinimleriniz doğrultusunda buradan gerekli düzenlemeleri yapabilirsiniz.
13. Adım) Kimlik doğrulama yöntemi, Data Directories ve Filestream ile ilgili düzenlemeleri yapacağız. Ben kimlik doğrulama yöntemi için Mixed modu seçiyorum ve kesinlikle sizin de bu kimlik doğrulama yöntemini seçmenizi öneriyorum. WORKGROUP ortamında çalışanlar ise bunu mecbur yapmalıdırlar. Bu seçim ile SQL üzerinde çalışacak kişilerin herhangi bir Windows hesabına sahip olma zorunlulukları kalkmış oluyor. Data Directories sekmesinden ise dataların hangi konumda tutulacağını belirtebiliriz. Backup için isterseniz farklı bir lokasyon belirtebilirsiniz. Ben herhangi bir değişiklik şuan için yapmıyorum.
Son olarak ise Filestream a değinelim. Günümüz veritabanı sistemlerinde sadece yapısal veriler değil; yapısal olmayan verilerde tutulmaya başlanmıştır. Yapısal olmayan verilerden kastımız ses dosyaları, video dosyaları veya resimler gibi öğelerdir. Eğer ki SQL sunucunuz üzerinde yapısal olmayan verileride tutuyor iseniz yada tutacak iseniz bu ayarı aktif etmeniz ve konfigüre etmeniz gerekmektedir. Ben şuan için bu ayarı aktif etmiyorum ve SQL performansı açısından halen daha bu konuyla ilgili çekincelerim var.
14. Adım) Bu adımda Analiz servisi için yetkilendireceğimiz hesabı seçiyoruz. Add Current User der isek işlemi yapan kullanıcı hesabını otomatik olarak ekleriz. Farklı bir kullanıcı hesabı eklemek istiyor isek Add diyerek istenilen hesap eklenebilir. Data Directories tabından ise Analiz servisine ait veritabanı ve log dosyalarının tutulduğu dizinleri değiştirebiliriz. Ben dizinlerde herhangi bir değişiklik yapmayacağım ve Analiz servisi için kurulum yaptığım hesabı yetkilendireceğim.
15. Adım) Bu adımda Raporlama servislerinin konfigürasyonunu yapacağız. Eğer ki ortamınızda Sharepoint sunucunuz var ise SQL ile Sharepoint raporlama servisini entegre edebilirsiniz. Bunun için Install the SharePoint integrated mode default configuration seçeneğini işaretlemeniz gerekiyor. Benim yapımda henüz bir Sharepoint bulunmadığı için Install the native mode default configuration seçeneğini seçiyorum. Eğerki bu ayarları daha sonra düzenlemek istiyor isenizde en alttaki seçeneği seçmeniz gerekiyor.
16. Adım) Eğer SQL Server hata raporlarının Microsoft’a gönderilmesini istiyor isek ilgili kutucuğu işaretliyoruz ve Next ile devam ediyoruz. Ben ürünün gelişimine katkıda bulunabileceği düşüncesi ile bu seçneği işaretliyorum. Bu tamamen sizin insiyatifinize kalmış bir durum.
17. Adım) Sistemimiz kurulum öncesinde son kez kontrol ediliyor.
18. Adım) Kuruluma hazırız, şuan yaptığımız işlemlerin özet bir çıktısını görmekteyiz. Install diyerek kurulumu başlatıyoruz.
19. Adım) Kurulum işlemimiz başarıyla tamamlandı. Close diyerek pencereyi kapatıyoruz. Şimdi makalemizin ikinci bölümü olan yedekleme işlemlerinin nasıl yapıldığına değineceğiz.
MSSQL Server 2008 R2 de Zamanlanmış Veritabanı Yedeği Oluşturma
Makalemizin bu bölümünde zamanlanmış veritabanı yedekleme görevi oluşturacağız. Bu işlem için mutlaka SQL Server Agent servisinin çalışıyor olması gerekmektedir. Biz bu servisin çalışması ile ilgili gerekli ayarı kurulumumuzun başında yapmıştık. Eğer bu adımı atmamış veya yapmamış iseniz lütfen SQL Server Agent servisinin otomatik başlaması için gerekli ayarları tamamlayınız.
1. Adım) Şimdi isterseniz Microsoft SQL Server Management Studio yu kullanarak sisteme yönetici olarak giriş yapalım.
2. Adım) Yedekleme işlemi yapacağımız Database e gelelim, sağ tıklayarak Task ten Backup ı seçelim.
3. Adım) Yedek alacağımız lokasyonu belirtelim. Eğer farklı bir lokasyona bu yedeği almayı planlıyor ise Add diyerek bu lokasyonu ekleyelim ve varsayılan lokasyonuda Remove diyerek kaldıralım. Bildiğiniz gibi SQL Server 2008 R2 ile Standart sürümde de yedeği sıkıştırma özelliği gelmiştir. Bu özellik bize disk alanından ciddi bir kazanım elde etmemizi sağlayan hoş bir özelliktir. Eğer alacağınız veritbanı yedeğini sıkıştırmak istiyor iseniz (ki öneririm) Option seçeneğine gelin ve en altta yer alan Compression seçeneğinden Compress Backup ı seçin. Bu işlem alacağımız veritabanı yedeğini sıkıştırmamızı sağlayacaktır. Zamana bağlanmış bir yedek işlemi için ise Script e tıklayalım ve Script Action to Job ı tıklayalım.
4. Adım) Açılan pencereden gerekli ayarları yaptıktan (yedekleme işlemine isim verme ve işlem sahibini belirtme) sonra Schedules diyelim ve yedekleme işlemini bir zamana bağlayalım.
5. Adım) Bu adım makalemizin temel konularından bir diğeri idi. Bu adımda yedeğimiz için zamanlama oluşturacağız. Schedules a gelip New diyoruz yedek alma işlemi için bir zamanlama planı oluşturacağız.
6. Adım) Bu adımda yedeğimizin üzerindeki dataların güncelleme sıklığına, ilgili veritabanında tutulan dataların kritiklik durumlarınıda göz önünde tutarak bir yedekleme planı oluşturacağız. Önemli Not: Çok kritik datalar içeren veritabanlarının yedekleme işlemlerini daha profosyonel yedekleme çözümleri sunan 3.parti yazılımlar ile yapınız! Burada yapacağınız yedekten geri dönme işlemleri size herhangi bir sıkıntı çıkartmayacaktır fakat buradaki yedeklerden tek bir tabloyu geri getirme gibi spesifik işlemler yapamazsınız. Ben örnek olması sebebiyle Openfire mesajlaşma sunucumun datalarını yedekleyeceğim. Bu database üzerinde şirket içi mesajlaşma sistemi olan Openfire sunucusunun ayarları ve yazışmaların logları tutulmaktadır. Böyle bir veritabanın yedeğini tutacağım için ben saatlik başlama ve bitiş süreleri belirtilmiş bir yedekleme planı oluşturacağım.
Sizlerde yedekleme planınızı oluştururken ilgili database in rolüne göre bu işleme karar vermelisiniz. Benim yedekleme işlemine tabi tutacağım database in mesela mesai saatleri dışında üzerinde değişiklikler yapılması imkansız. Bu sebepten dolayıda zamanlama süresini mesai saatleri ile sınırlıyacağım. Ve mesai saatleri içerisinde her bir saatte bir yedek almasını sağlıyacağım. İsterseniz her 10 saniyede dahi bir yedek aldırabilirsiniz ki pekte önermem tabiki.
Yedekleme için aklımızdaki zamanlamayı oluşturdu isek OK diyoruz. Diğer pencerelerde OK diyoruz. En son kalan pencerende OK diyoruz ve zamanlanmış yedekleme işlemi için gerekli adımları tamamlamış oluyoruz.
İşlemimiz başarılı bir şekilde tamamlandı. Artık bu işlem ile Openfire isimli veritabanımızı Haftanın 5 günü mesai saatleri içerisinde her bir saatte bir yedeklemiş olduk. Sizlerinde bu makale doğrultusunda gerekli veritabanlarını başarılı bir şekilde zamanlanmış bir yedekleme işlemine bağlamış olduğunuzu düşünüyorum.
Bizler bu makalemiz ile MSSQL 2008 R2 nin kurulumuna, temel yapılandırma ayarlarının nasıl olması gerektiği ile zamanlanmış bir backup oluşturma işleminin nasıl yapıldığına değindik. Aynı zaman MSSQL 2008 R2 ile gelen yeni özelliklerede kısaca göz attık. Dilerim MSSQL e yeni başlayan kişiler için faydalı bir döküman olmuştur. Bir sonraki MSSQL makalemiz olan “SQL Serverlar Üzerinde Cluster İşlemi” makalesinde görüşmek dileğiyle.
Saygılarımla
Hüseyin Sevin