tempdb, SQL Server’ın geçici çalışma alanı. Sıralama, geçici tablolar ve büyük sorguların ara sonuçları burada tutuluyor.
Varsayılan ayarlarla bırakıldığında yoğun saatlerde darboğaz oluyor ve kullanıcıya “program bazen kilitleniyor” olarak görünüyor.
Tek dosya sorunu
Varsayılan kurulumda tempdb tek bir veri dosyasıyla geliyor. Çok sayıda eş zamanlı işlem aynı dosyanın ayırma sayfalarına erişmeye çalıştığında çekişme oluşuyor.
Dosyayı birden fazla eşit parçaya bölmek bu çekişmeyi dağıtıyor.
Eşitlik önemli
tempdb veri dosyaları eşit boyutta ve eşit büyüme adımına sahip olmalı. SQL Server yazma işlemlerini dosyalar arasında boyuta göre dağıttığı için, farklı boyutlu dosyalar dengesiz kullanım üretiyor ve bölmenin faydasını ortadan kaldırıyor.
Disk yerleşimi
tempdb, kullanıcı veritabanlarıyla aynı diski paylaşıyorsa ikisi birbirini yavaşlatıyor. Ayrı ve hızlı bir diske taşımak, yoğun kullanımda en görünür iyileşmelerden birini veriyor.
Başlangıç boyutu
tempdb’nin çalışma sırasında sürekli büyümek zorunda kalması, her büyümede kısa duraksamalar üretiyor. Başlangıç boyutunu tipik kullanımınızı karşılayacak kadar büyük vermek bu duraksamaları ortadan kaldırıyor.
Değişiklik görece güvenli
tempdb kalıcı veri tutmadığı için yapılandırma değişiklikleri kullanıcı verisini riske atmıyor. Yine de servis yeniden başlatması gerektiği için mesai dışına planlanıyor.
Adım adım
- tempdb dosyalarının kaç adet olduğunu ve hangi diskte durduğunu kontrol edin.
- Tek dosya varsa, işlemci çekirdek sayısına göre birden fazla veri dosyasına bölün (8 çekirdeğe kadar çekirdek sayısı kadar).
- Tüm tempdb veri dosyalarını eşit boyutta ve eşit büyüme adımıyla tanımlayın.
- Mümkünse tempdb’yi kullanıcı veritabanlarından ayrı, hızlı bir diske taşıyın.
- Başlangıç boyutunu yeterince büyük verin ki çalışma sırasında sürekli büyümek zorunda kalmasın.
- Değişiklikten sonra SQL Server servisini yeniden başlatın — tempdb yeniden oluşturulur.
Çözemediyseniz bakalım
Hata mesajının tam metnini ve ne zaman başladığını iletin; hangi katmandan geldiğini söyleyelim. Mikro’yu bizden almamış olmanız fark etmiyor.
Yanıt süremiz: aynı gün içinde.
Sık sorulan sorular
-
Hayır. tempdb her SQL Server başlangıcında sıfırdan oluşturulur; kalıcı veri tutmaz. Bu yüzden yapılandırma değişiklikleri görece güvenlidir.
-
Yaygın yaklaşım, işlemci çekirdek sayısı kadar (8'e kadar) eşit boyutlu dosya. Daha fazlası genellikle ek fayda sağlamıyor.
-
Yoğun kullanımda belirgin fark ediyor. tempdb, geçici tablolar ve sıralama işlemleri nedeniyle en çok yazma alan dosyalardan biri.