SQL Server 2008 R2 Best Practices Analyzer
Best practise kavramını biraz açalım. Best practise bahsi geçen teknolojik ürün üzerinde kabul görmüş genel konfigurasyonlardır. Örneğin SQL Server ı ele alacak olursak; Database Data ve Log dosyalarını performans amaçlı farklı fiziksel disklerde bulundurmak best practice dir. Ya da TempDB Data file larını core cpu sayısı kadar yapmak gene bir SQL Server Best Practice dir.
Microsoft SQL Server 2005 Best Practise tool unu release ettikten sonra 2008 Best Practice tool u için çok uzun süre bekledi ve ancak 18.06.2010 tarihinde release edebildi. Çok uzun bir süre 2008 ortamlarımızda hala 2005 best practice tool unu kullanmak zorunda kalırken artık şimdi elimizde 2008 best practice tool u var. Ve bu yazımızda bu tool un detaylarına iniyor olacağız.
Makalemi 4 başlık altında toplayacağım
· Kurulum
· MBCA’ya İlk Bakış
· MBCA ile Network’teki Bir DB Server’a Bağlanma
· Tarama Sonucu Bulguları
Kurulum
Öncelikle tool u bilgisayarımıza kuralım. Best Practice Analyzer 2008 R2, Microsoft Baseline Configuration Analyzer (MBCA) 2.0 çatısı altında çalışmaktadır. Dolayısıyla ilk olarak bu tool u bilgisayarımıza kuralım. Download için aşağıdaki MSDN linkini kullanabilirsiniz. Bu linkten sisteminiz için uygun olan tool u indirip kurunuz.
http://www.microsoft.com/downloads/details.aspx?FamilyID=1B6E9026-F505-403E-84C3-A5DEA704EC67&displaylang=en&displaylang=en
Eğer kurulumda “Microsoft Baseline Configuration Analyzer 2.0 is not supported on this SKU.” gibi bir hata alıyorsanız işletim sistemi uyumluluğunu kontrol etmenizde fayda var. Çünkü MBCA sadece aşağıdaki OS larda support edilmektedir.
Supported Operating Systems: Windows 7 Enterprise; Windows 7 Professional; Windows 7 Ultimate; Windows Server 2003; Windows Server 2003 R2 (32-Bit x86); Windows Server 2008; Windows Server 2008 R2; Windows Vista Business; Windows Vista Enterprise; Windows Vista Ultimate
MBCA kurulumunu bitirdikten sonra şimdi Best Practice Analyzer 2008 R2 kurulumuna geçebiliriz. Download için aşağıdaki Microsoft linkini kullanabilirsiniz. Bu linkten sisteminiz için uygun olan tool u indirip kurunuz.
http://www.microsoft.com/downloads/details.aspx?FamilyID=0FD439D7-4BFF-4DF7-A52F-9A1BE8725591&displaylang=en&displaylang=en
Gene Supported Operating Systems kısmını kontrol ederek operating sisteminizin desteklenenler listesinde olduğunu teyit etmenizde fayda var.
Supported Operating Systems: Windows 7; Windows Server 2003; Windows Server 2008; Windows Server 2008 R2; Windows Vista
MBCA’ya İlk Bakış
MBCA’yı çalıştıralım. Home ekranında SQL Server 2008 R2 BPA’yı seçelim.
Enter Parameters ekranında server ve instance bilgilerini dolduralım. İlk örneğimde kendi makinam üzerinde bulunan DB Engine’i analiz edeceğim.
Daha sonra analiz edilmesini istediğimiz service’lerin yanındaki enable seçeneklerini işaretleyelim.
Start Scan yazısına tıkladığımızda MBCA seçtiğimiz DB Server’ı analiz etmeye başlayacak ve ekran görüntüsü bu analiz süresi boyunca aşağıdaki gibi olacaktır.
Analiz işlemi tamamlandığında aşağıdaki gibi bir sonuç ortaya çıkacaktır.
Ekran detayına inersek;
1 – Select Report Type
Collected Data seçeneği seçilirse tarama sonuçlarını ağaç yapısında görebiliriz.
Biz bu makalemizde genelde Results seçeneğini kullanacağız.
2 – Noncompliant – All
All seçeneğinde analiz sonucu best practise değerlerimize uygun olan kayıtlarda gösterilir. Noncompliant seçeneğinde gösterilmez.
3 – Export Report
Tarama sonucunu XML file olarak export edebilirsiniz.
4 – Filter
Tarama sonucu çıkan ifadelerde belirli bir ifadeyi aratabilirsiniz. Örneğin aşağıdaki örnekte tempdb ifadesi aratılmıştır.
5 – Arrange by
Tarama sonucu çıkan bulguları neye göre dizeceğimizi belirler. Severity, önem derecesini göstermektedir. Genelde bu kritere göre dizim yapmakta fayda vardır. İstersek Category’e görede dizme yapabiliriz.
6 – Tarama Sonucu
Tarama sonucu çıkan bulguları bu ekranda görebilir, bu bulguların detayına erişerek Etki(Impact) ve Resolution(Çözüm) bilgilerine ulaşabiliriz.
MBCA ile Network’teki Bir DB Server’a Bağlanma
MBCA ile Network üzerindeki bir DB Server’a ayar yapmadan bağlanmaya çalışırsak aşağıdaki gibi bir hata mesajı ile karşılaşmamız mümkün.
Hata mesajının detayında da görebileceğiniz gibi MBCA yı kullanan kullanıcın remote makinada local admin olması gerekmektedir. Ayrıca remote makinada powershell’in enable edilmesi gerekmektedir.
Bunun için hem local hemde remote makinalarda powershell’de şu komutların çalıştırılıp powershell’in remote kullanıma açılması gerekmektedir.
1. Enable-PSRemoting –f
2. winrm set winrm/config/winrs `@`{MaxShellsPerUser=`”10`”`
Bu ayarlamalar yapıldıktan sonra analiz işlemi problemsiz gerçekleştirilecektir.
Tarama Sonucu Bulguları
Makalemin bu bölümünde tarama sonucu çıkan bazı önemli bulguların detayına inip, bu bulgunun neden geldiğine, neye sebep olabileceğine ve nasıl düzeltilebileceğine bakıyor olacağız.
Engine – Database files and backup files exist on the same volume
Best practice olarak disklerde bir sıkıntı olma ihtimalinden dolayı data ve log dosyalarının farklı fiziksel disklerde bulundurulması önerilir. Aynı şekilde alınan backup’larında farklı bir fiziksel diskte bulundurulması best practice’dir. Bu error sonucu bize data ve backup dosyalarının aynı diskte olduğunu göstermekte.
Engine – SQL Server tempdb database not configured optimally
Best practice olarak tempdb datafile larının core CPU sayısı kadar yapılması önerilir. Yani 4 CPU lu 8 core lu bir sunucuda tempdb datalarını birbirlerine eşit boyutta 8 adet dosya yapmanızı öneririm.
Engine – Authentication Mode
Authentication Mode’un Windows Authentication olması best practice’dir. Lakin hemen hemen her firmada SQL Login’ler ile login olunmaya çalışıldığı için bu bulgu üzerinde çok durmayabiliriz.
Engine – Database consistenct check not current
Issue kısmında belirtilen DB’ler için hiç DBCC CHECKDB yapıldığını göstermektedir. DBCC CheckDB DB consistency ve integrity’sini kontrol eden bir sistem komutudur. Best practice olarak periyodik olarak bu kontrolün DB’ler üzerinde yapılması önerilir.
Engine – Backups outdated for databases
Bu bulguda uzun zamandır backup alınmayan DB’ler hakkında bilgi verilmektedir. Diskte ve DB’de oluşabilecek problemlerden dolayı her daim iyi bir backup policy üzerinde çalışma yapılması gerekmektedir.
Engine – Databases using simple recovery model
Point in time recovery ve disaster anında minimum data kaybı ile sıyrılmak için production DB’lerinde full recovery model kullanılması önerilmektedir. Bu bulguda simple recovery model kullanan DB’ler raporlanmaktadır.
Best practise bahsi geçen teknolojik ürün üzerinde kabul görmüş genel konfigurasyonlardır. SQL Server 2008 R2 Best Practices Analyzer ile Database Server’larınızı periyodik olarak kontrol edip, best practice’lere uymayan durumları sorgulayabilirsiniz.
Alıntı: Turgay Sahtiyan