21 Ocak 2011 Cuma

İPUCU: Windows Server 2008 R2 üzerinde SQL Server 2005'e çevrimiçi disk ekleme

Selam arkadaşlar,

Bu testi henüz yaptık ve hemen sonucu sizlerle paylaşmak istedim.

İşletim Sistemi: Windows Server 2008 R2
SQL Server: 2 Düğümlü SQL Server 2005 (+SP3 + CU2) Cluster
Testin amacı: SQL Server 2005, Windows Server 2008 R2'nin çevrimiçi disk büyütme işlemi ile uyumlu olarak çalışıyor mu?

Testimizde 2 tane 2GB boyunda SAN disk kullandık. Diskleri test yapacağımız sunucuya tanıttık ve bir SQL Server veritabanı oluşturduk. Veritabanının veri dosyasını bir diske, Log dosyasını diğer diske kaydettik. Dosyaların boyutunu da her biri 1,5GB olacak şekilde ayarladık. Daha sonra SAN mühendisi arkadaşımız diskleri 3GB boyutunu büyüttü ve biz de her bir dosyayı 2,5GB'a büyüttük. SQL Error Log'larını kontrol ettik, sorun yok. Daha sonra tekrar emin olmak için diskleri 4GB boyutuna getirdik ve oluşturduğumuz veritabanının veri ve Log doysalarının boyutlarını da 3,5GB boyutuna getirdik ve tüm bu büyütme işlemlerinin tamamının çevrimiçi, kesintisiz ve sorunsuz bir şekilde gerçekleştirildiğini gördük.

Diyeceğim odur ki, Windows Server 2008 R2 üzerinde bulunacak ve SQL Server için kullanılacak disklerinizi gönül rahatlığı ile çevrimiçi büyütebilirsiniz!

Hepimize kolay gelsin.
Ekrem

İPUCU: "Awaiting first complete passive cluster node 'Virtual Server Name'"

SQL Server 2005 Cluster kurulumunu yaptıktan sonra Service Pack veya Cumulative Update kurarken, kurulum ekranı bu mesaj yazar halde kalıyor olabilir.

Bu durumda, sadece kurulum yapıyor olduğunuz düğümde oturum açtığınıza ve diğer düğümlerde siz dahil kimsenin oturum açmadığından emin olmalısınız. Bu tedbiri aldığınız sürece bu sorunu yaşamazsınız.

17 Ocak 2011 Pazartesi

SQLServer Error: 17750, Could not load the DLL xplog70.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.). [

HATA:
SQLServer Error: 17750, Could not load the DLL xplog70.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.). [SQLSTATE 42000] (ConnCacheSubsystems)

AÇIKLAMA:
SQL Server Agent servisinin çalışmayabilir ve bu hatayı da SQL Agent'ın Error Log dosyasında görebilirsiniz.

ÇÖZÜM:
"xplog70.dll" dosyası bozulmuş olabilir, aynı versiyondaki bir SQL Server sunucusundan bu dosya temin edilip, sorun yaşanan SQL Server kurulumundaki bozuk dosyanın üzerine yazılabilir. Sorun bu şekilde çözülecektir.

3 Ocak 2011 Pazartesi

SSAS: ascmd ile birden fazla veritabanının yedeğini zaman ayarlı olarak almak

Senaryo: Windows Server 2008 R2 İşletim Sistemi üzerinde çalışan bir sunucumuz var, talep edilen ise sunucuya sadece bir tane SQL Server 2008 R2 Analysis Services Instance'ının kurulması. Yedekleme uygulamamız olan Commvault SSAS veritabanlarının yedeğini alamadığı için DBA olarak yapmamız gereken ise SSAS'teki veritabanlarının yedeklerinin zaman ayarlı olarak alınmasının sağlanması.

Bu gereksinimi gidermek için sevgili arkadaşım Batuhan Yıldız (Microsoft PFE)'dan destek aldık, çünkü konu hakkında çözüm için gereken araç gerece ulaşmak kolay değildi.

Eğer sunucuda bir SQL Server 2008 Database Engine kurulu olsaydı işimiz çok kolay olacaktı, çünkü SQL Server Agent hem XMLA kodlarını çalıştırıyor (ki veritabanlarının Backup Script'lerini çalıştırmak için bu işlevselliğe ihtiyaç var) hem de zaman ayarlı olarak çalışabiliyor.

Fakat bizim durumumuzda bir SQL Server Agent yok. SQLCMD ise XMLA kodlarını çalıştırmıyor. SQL Server'ın doğrudan kendi parçası olan başka da bir araç gereci yok.

Batuhan'dan adını ilk defa duyduğum "ascmd" isimli aracın varlığını da bu sorunla öğrenmiş oldum. "ascmd" isimli araç, tam da aradığımız gibi, SQLCMDvari bir araç ve XMLA Script'lerini çalıştırabiliyor. Fakat bu araç ile ilgili bir sorun var, SQL Server 2005 versiyonunu Codeplex'te bulabiliyorsunuz; fakat SQL Server 2008 versiyonunu internette bulmak konusunda ben muvaffak olamadım. Ancak Microsoft'taki diğer arkadaşlardan doğrudan elden alarak edinebildik bu aracı. Ayrıca şunu da belirtmek isterim ki, bu aracın uygulama halini (exe) doğrudan edinemiyorsunuz. Bu aracın kaynak kodlarını edinebiliyorsunuz ve bu kodları indirdikten sonra derlemeniz gerekiyor. Derlemek için de cscript.exe yetmiyor, Visual Studio'nun C# bileşenlerinin de yüklü olması gerekiyor.

Bizim durumumuzda birden fazla SSAS veritabanının yedeklenmesi gerekiyordu. Böyle bir durumda da aşağıdaki gibi bir Script'inin kullanılması gerekiyor. Yani "Batch" bloğunun içinde olmalı yedek alma Script'leri.




Veritabanim1

X:\BACKUP\Veritabanim1.abf
true




Veritabanim2

X:\BACKUP\Veritabanim2.abf
true



Velhasıl, "ascmd" uygulamasını ve yedekleme Script'lerini edindikten sonrası bildik hikâye. Bu Script'i bir XMLA dosyasına kaydedip aşağıdaki gibi bir komut dizisiyle Windows Task Scheduler kullanarak zaman ayarlı olarak çalıştırabilirsiniz:

ascmd -S DWANALIZ -i X:\BACKUP\ASBackupScript.xmla