18 Aralık 2014 Perşembe

SQL Saturday 359 -2( How to understand if the storage is a problem on the database server)


İkinci seminerde Türkiye'de SQL Serverın en büyük gurularından birisi olan Yiğit AKTAN hocanın Troubleshooting: How to understand if the storage is a problem on the database server? Adlı seminerine katıldım. Şimdiye kadar teknik açıdan olsun sürükleyicilik açısından olsun  en iyi seminerlerden birisiydi.
 

Seminerde Sql Serverda yaşanabilecek IO problemleri ve bunların çözüm yöntemleri üzerine konuşuldu.  Bir işlem bir kayıt üzerinde değişlik yapacağı zaman ilk olarak kaydın olduğu page'i bulmak için memorye bakar. Burda yoksa  diskten okuyarak memory'e alır. SQL Server kayıtları direk diskten okumaz. Öncelikle memory'e alır. Burdan okur. Okuma devam ederken bir başka işlem bu page erişmek isterse ilk işlemin okuma işlemini bitirmesini bekler. Buna PageIOLatch_EX denir.  Aynı anda iki işlem aynı page'e erişip memory'e alamaz.

Bu PageIOLatch_EX problemlerinin nasıl tespit edileceği ve nasıl çözümler bulunacağı üzerine çok güzel bir seminer oldu.

I/O problemlerinde DBAler öncelikli olarak çözümü storage yöneticileri ile konuşarak bulmak isterler. Ancak genellikle çözüm bulunamaz. Çünkü storage yöneticileri hatalarını genellikle kabul etmezler. Bu gibi durumlarda problemin ne olduğu ve çözümün ne olacağı konusunda demo yapıldı.

Çözüm Örnekleri
  1. IO hızınızı artırmak ve hızı yüksek bir altyapıya sistemimizi taşımak. Disk yapımızı SSD ile değiştirmek.(Bu ilk etapta pek kolay gözükmüyor.)
  2. Eksik Indexleri yeniden oluşturmak
  3. Kullanılmayan Indexleri silmek
  4. İstatiktikleri Update Etmek
  5. MDF ve LDF disklerini ayrı diskler üzerine koymak ve TempDB veritabanını hızlı disklere taşımak.


Seminerde  sp_WhoIsActive  stored prosedürü üzerine bilgi verildi. Bu prosedür  Adam Machanic tarafından yazılmış. Sistemde o anda çalışan activiteleri görüntülüyor.

Sql Server DateTime Veri Tipindeki Datayı Türkçe Formatında Göstermek

  SQL'de tarihleri farklı formatlarda göstermek için FORMAT fonksiyonunu kullanabilirsiniz. Türkçe kısa tarih formatı genellikle "...