Saya telah melihat masalah ini dan perbaikan terbaru yang akhirnya dirilis untuk memperbaikinya sebenarnya adalah akibat langsung dari kasus saya dengan Microsoft CSS. Tidak ada artikel KB publik untuk perbaikan. Pastikan Anda telah menerapkan Paket Layanan 4 dan pembaruan kumulatif terbaru untuk SQL Server (pada saat penulisan, itu adalah Pembaruan Kumulatif # 3 (9.00.5259) ).
Sampai perbaikan terbaru dirilis, saran Microsoft adalah berhenti membuat tabel #temp (seperti KB # 916086 ). Karena ini akan berarti penulisan ulang lusinan dan banyak prosedur pelaporan, solusi dalam kasus saya (terlepas dari jejak bendera atau tata letak file temp) adalah untuk memulai kembali cluster kami setiap akhir pekan. Yuck.
Untuk melacak penggunaan tempdb, ada beberapa skrip yang dapat membantu, mis. Lihat sp_whoIsActive Adam Machanic , khususnya:
Dan juga skrip ini (dan yang ada di komentar) dari @SQLSoldier:
Saya akan memastikan semua kursor Anda menggunakan LOCAL STATIC READ_ONLY FORWARD_ONLY
(lihat ini dan ini ), dan lihat apakah ada pertanyaan mahal yang diketahui yang menggunakan tabel #temp / @table variabel, CTE, atau mungkin berisi jenis yang tidak perlu atau mengarah pada hash joins ... semuanya dapat berkontribusi pada masalah (saya ragu Anda akan menemukan satu penyebab emas). Perbaikan sweeping termudah sebagai titik awal "bang-for-your-buck" adalah dengan menggunakan opsi kursor yang tepat dan murah daripada default.
Sementara itu saya akan (a) menginstal CU # 3 dan (b) memanggil PSS. Beri tahu mereka bahwa Anda setelah perbaikan yang sangat spesifik yang telah dikonfirmasi sebagai bug dan dirilis ke pengguna lain sebagai perbaikan terbaru pribadi: "VSTS # 109112 - Penurunan suhu temp table tidak menskala untuk beban kerja tertentu." Anda mungkin harus membayar biaya kasus pada awalnya tetapi, karena ini adalah bug, biayanya harus dikembalikan.
SELECT @@VERSION;
? Sesuai jawaban saya, saran pertama saya adalah memastikan Anda menggunakan SP4 dan pembaruan kumulatif terbaru.