ฉันได้เห็นปัญหานี้มากและการแก้ไขด่วนที่ออกมาเพื่อแก้ไขในที่สุดมันก็เป็นผลโดยตรงจากเคสของฉันกับ Microsoft CSS ไม่มีบทความ KB สาธารณะสำหรับการแก้ไข โปรดตรวจสอบให้แน่ใจว่าคุณได้ใช้Service Pack 4และการอัปเดตสะสมล่าสุดไปยัง SQL Server (ณ เวลาที่เขียนนั่นคือCumulative Update # 3 (9.00.5259 )
จนกว่าจะมีการเผยแพร่โปรแกรมแก้ไขด่วนข้อเสนอแนะของ Microsoft คือการหยุดสร้างตาราง #temp (เหมือนกับKB # 916086 ) เนื่องจากนี่จะหมายถึงการเขียนขั้นตอนการรายงานจำนวนมากซ้ำการแก้ไขปัญหาในกรณีของฉัน (โดยไม่คำนึงถึงค่าสถานะการติดตามหรือรูปแบบไฟล์ temp) คือการรีสตาร์ทคลัสเตอร์ของเราทุกวันหยุดสุดสัปดาห์ yuck
เพื่อติดตามการใช้งาน tempdb มีสคริปต์หลายบทที่สามารถช่วยได้เช่นดูที่ Adam Machanic's sp_whoIsActiveโดยเฉพาะ:
และสคริปต์นี้ (และสิ่งที่อยู่ในความคิดเห็น) จาก @SQLSoldier:
ฉันจะตรวจสอบให้แน่ใจว่าเคอร์เซอร์ทั้งหมดของคุณใช้อยู่LOCAL STATIC READ_ONLY FORWARD_ONLY
(ดูนี่และสิ่งนี้ ) และดูว่ามีคิวรี่ราคาแพงใด ๆ ที่รู้จักซึ่งใช้ #temp tables / @table variable, CTEs หรืออาจมีการเรียงลำดับที่ไม่จำเป็นหรือนำไปสู่การแฮช ... สิ่งเหล่านี้สามารถนำไปสู่ปัญหาได้ (ฉันสงสัยว่าคุณจะพบสาเหตุหนึ่งประการ) การแก้ปัญหาการกวาดที่ง่ายที่สุดในฐานะจุดเริ่มต้น "สำหรับบางสิ่งบางอย่าง" จะใช้ตัวเลือกเคอร์เซอร์ที่เหมาะสมและไม่แพงแทนที่จะเป็นค่าเริ่มต้น
ในระหว่างนี้ฉันจะ (a) ติดตั้ง CU # 3 และ (b) เรียก PSS บอกพวกเขาว่าคุณกำลังหลังจากการแก้ไขที่เฉพาะเจาะจงซึ่งได้รับการยืนยันแล้วว่าเป็นข้อบกพร่องและเผยแพร่ให้ผู้ใช้รายอื่นในฐานะโปรแกรมแก้ไขด่วนส่วนตัว: "VSTS # 109112 - การเลื่อนการเลื่อนเวลาของตารางชั่วคราวไม่ปรับขนาดสำหรับปริมาณงานบางอย่าง" คุณอาจต้องชำระค่าธรรมเนียมกรณีแรก แต่เนื่องจากเป็นข้อผิดพลาดจึงควรคืนเงินให้
SELECT @@VERSION;
อะไร ตามคำตอบของฉันคำแนะนำแรกของฉันคือเพื่อให้แน่ใจว่าคุณอยู่ใน SP4 และอัปเดตสะสมล่าสุด