|
|
|
|
|
 |
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) |
|
|
|
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 |
|