|
|
|
VERSÝYON YÜKSELTME (UPGRADE) SONRASI YAPILMASI GEREKEN
SQL SERVER 2005 PERFORMANS BAKIMI
|
Son güncelleme tarihi: 14 Kasým 2007
Merhaba,
Aslýna bakarsanýz bu çok ilginç bir konu, çünkü insanlar SQL Server 2000' den SQL
Server 2005' e geçiþ yaptýklarýnda sistemlerinin daha hýzlý, verimli ve ölçeklenebilir
çalýþacaðýný umuyorken bir de bakýyorlar ki SQL Server' larýnýn performansý SQL
Server 2000' den çok daha kötü.
Fakat iþin aslý öyle deðil tabii ki. Yükseltme iþlemini gerçekleþtirdikten sonra
yapmanýz gereken bazý bakým ayarlarý var. Bunlarý yapmanýz gerekiyor.
Yapýlmasý gereken bu bakýmlarý aþaðýda listeliyorum:
1- SQL Server için kullanýlabilir olan en son Servis Paketini yüklediðinizden
emin olun. Tabii eðer bu servis paketini yüklemenizde bir sakýnca yoksa. Meselâ
üçüncü parti bir uygulama kullanýyor olabilirsiniz ve uygulama geliþtiriciniz, uygulamanýn
SQL Server' ýn bu servis paketini desteklemediðini ve bu servis paketini yüklememeniz
gerektiðini söyleyebilir. Bunugözönünde bulundurun.
2- "External Defragmentation" yapýn. Baþka bir
anlamda söylemek gerekirse, Windows Disk Birleþtirici (veya
Diskeeper gibi üçüncü parti bir yazýlým da olabilir), kullanarak dosyalarýnýzý
birleþtirin. Performans açýsýndan önemli bir adým. Bu uygulamayý gerçekleþtirirken,
SQL Server servisinizin çalýþmadýðýndan emin olun. Çünkü Windows Disk Birleþtirici
açýk olan dosyalara iþlem uygulayamýyor. Eðer SQL Server servisiniz çalýþýyorsa,
veritabaný dosyalarý için de iþlem yapýlamaz. Bu birleþtirme iþlemini iþ saatleri
dýþýndayken uygulamanýzý öneririm.
3- Eðer bir engel yoksa kullanýcý veritabanlarýnýzýn Compatibility
Level' ini* 90' yapýn. (Database\Properties).
Not: Konuyla ilgili aþaðýdaki açýklamayý kesinlikle okuyunuz. Compatibility
Level' ý 90 olan bir veritabanýný, SQL Server 2000' de çalýþtýramazsýnýz.
4- Veritabanýnda varolan "Index" leri yeniden
yapýlandýrýn (Rebuild)
5- Kullanýcý veritabanlarýnýzdaki istatistikleri güncelleyin. (sp_updatestats)
6- Veritabaný ayarlarýnýza bakýp "Auto Update Statistics"
ayarýnýn etkin olduðundan emin olun. Eðer bu ayarýn sisteminizde performans kaybýna
neden olacaðýndan kuþkularýnýz varsa, "Auto Update Statistics Asynchronously"
seçeneðine göz atmanýzý tavsiye ederim. SQL Server 2005 ile gelen yeni bir ayardýr.
Yerine göre çok iþinize yarayabilir.
7- SQL Server 2005' in sorgular için kullandýðý Çalýþtýrma
Planý (Execution Plan), SQL Server 2000' in sorgular için kullandýðý
Çalýþtýrma Plan' ýndan daha az optimaldir.
Meselâ þu örneðe bakýn:
SELECT * FROM Person.Contact
WHERE (LastName LIKE @para1) AND (LastName > @para2)
SQL Server 2005' te Çalýþtýrma Planý tablolarda arama yapmak için
karþýlaþtýrma operatörlerini kullanýr (=, <, > gibi...).
SQL Server 2000' de ise Çalýþtýrma Planý tablolarý taramak için
LIKE operatörünü kullanacaktýr. Karþýlaþtýrma operatörü, LIKE
operatöründen daha fazla kayýt getireceði için performans daha düþük olacaktýr.
Microsoft bu sorunu çözmek için bir FIX yayýnladý. Bu FIX de 4. Cumulative Güncellemesinin
içerisinde bulunuyor. Bu güncellemeye ulaþmak için
buraya týklayabilirsiniz.
* Compatibility Level, SQL Server veritabanýnýn SQL Server' ýn hangi versiyonuyla
uyumlu olduðunu gösterir. 90 sayýsý SQL Server 2005' i, 80 sayýsý SQL Server 2000'i
70 sayýsý SQL Server 7.0' ý temsil eder.
Ekrem Önsoy
|
|
Anasayfa |
|