Saya baru saja menerima pemberitahuan berikut tentang contoh SQL Server 2005. Contoh ini memiliki rasio file inti-ke-tempdb 2: 1 untuk jumlah file tempdb total 24 file. Pertentangan seharusnya tidak terjadi - bagaimana saya mendeteksi sumber pertengkaran ini? TempDB dan semua basis data lainnya ada di penyimpanan SAN melalui Ethernet 10 GB. SAN memiliki 46 SAS drive 10k yang dikonfigurasi dalam satu array RAID-60. Array ini dibagi dengan beberapa server VMWare dan satu atau dua server Exchange.
Pemberitahuan dari Idera SQL Diagnostic Manager:
11/8/2012 10:49:00 PM, Tempdb Contention (ms) di MGSQL01 adalah Kritis.
Pertempuran tempdb latch telah terdeteksi di MGSQL01. Total waktu tunggu yang terdeteksi adalah 1782 milidetik. Ini merupakan indikasi bahwa kinerja sedang dipengaruhi oleh pertikaian pada peta alokasi di tempdb. Jika ini merupakan masalah biasa, ini dapat diatasi dengan mengikuti praktik terbaik terkait dengan jumlah file tempdb, ukuran, dan subsistem IO.
Waktu Tunggu PFS: 1782 ms Waktu Tunggu GAM: 0 ms Waktu Tunggu SGAM: 0 ms
Tempdb Contention (ms): Waktu tunggu saat ini untuk peta alokasi tempdb (GAM, SGAM, dan PFS), dalam milidetik. Lansiran ini hanya dapat dinaikkan pada instance yang menjalankan SQL 2005 atau di atasnya.
sumber
Jawaban:
Bendera jejak 1118 memaksa alokasi luas yang seragam alih-alih alokasi halaman campuran. Bendera jejak biasanya digunakan untuk membantu skalabilitas TEMPDB dengan menghindari SGAM dan poin pertentangan alokasi lainnya. Jika Anda memiliki SQL Server 2008 atau SQL Server 2005 dan perbaikan diterapkan dan masih menghadapi pertengkaran TEMPDB, pertimbangkan jejak flag 1118 untuk bantuan lebih lanjut dalam menyelesaikan pertengkaran.
sumber