TempDB Performans ve Stratejik Kontroller Listesi

Reading Time: 2 minutes

TempDB Performans ve Stratejik Kontroller Listesi

TempDB SQL Server performansı için kritik öneme sahiptir.  TempDB için farklı kulalnılar mevcuttur ve bu kullanımları izlemek ve yönetmek ileri ki dönemlerde başımızı ağırtacak performans problemleri oluşmasını engeller.

Bu yüzden TempDB optimizasyonları ve gerekli Best Practice leri uygulamamız ve sistemi an ve an takip etmemiz gerekmektedir.

TempDB yi Kullanan SQL Server Nesneleri

  • Cursor
  • Database Mail
  • DBCC CHECKDB
  • Index Rebuild with SORT_IN_TEMPDB
  • Queries
  • Temp Tables
  • UDF
  • Version Store

 

TempDB İyileştirme Taktikleri :

  1. TempDB veritabanını Data File sayısnı arttırın.
  2. TempDB veritabanını ayrı bir Disk üzerinde barındırın.
  3. TempDB veritabanını barındırdığınız diskiniz SSD olursa daha güzel olur ve mümkün olduğunca SSD olmasını sağlayın.
  4. Ayrılan Data File ların aynı boyutta olmasını sağlayın.
  5. AutoGrowth Değerlerini yapınıza göre doğru SET edin.
  6. Yoğun TempDB Kullanımını analiz edip loglayınız.
  7. Gerekli Trace Flag i açınız. -T1118
  8. Recovery Model 2ini SIMPLE ‘da tutun.
  9. TempDB büyümesini takip edin ve büyüme gerçekleştiren Query ‘i bulup tuning yapın.
  10. ALert mekanizmalarınızı kurun ve herhangi bir performans sıkıntısında size bilgilendirme gelmesini sağlayın.

TempDB de Sıkıntıya Sebep olan Süreçler :

  • Global ve Lokal Temp tablolar
  • Temp Stored Procedure ‘ler
  • Temp Variables
  • Cursor
  • Spools
  • Sorting – Query lerinizde ki sıralama işlemleriniz.
  • Row Versioning : Veritabanı Sistemlerinde Isolation Level katmanında Row-Versioning kullanılan Isolation Level larda versiyonlama TempDB üzeirnde yapılmaktadır.
  • Online Index Operations
  • Multiple Active Result Sets (MARS) : 200 verisyonu ile hayatımıza giren bu özellik bir connection üzeirnden eş zamanlı birden fazla batch çalıştırılabilmesini sağlamaktadır.
  • After Triggers

İyi Çalışmalar.

Leave a Reply

Your email address will not be published. Required fields are marked *