Tôi đã thấy vấn đề này rất lớn và hotfix cuối cùng đã được phát hành để sửa nó thực sự là kết quả trực tiếp của trường hợp của tôi với Microsoft CSS. Không có bài viết KB công khai để sửa chữa. Vui lòng đảm bảo rằng bạn đã áp dụng Gói dịch vụ 4 và bản cập nhật tích lũy gần đây nhất cho SQL Server (tại thời điểm viết bài, đó là Cập nhật tích lũy số 3 (9.00.5259) ).
Cho đến khi hotfix được phát hành, đề xuất của Microsoft chỉ đơn giản là ngừng tạo các bảng #temp (giống như KB # 916086 ). Vì điều này có nghĩa là phải viết lại đáng kể hàng chục và hàng chục thủ tục báo cáo, cách giải quyết trong trường hợp của tôi (bất kể cờ theo dõi hoặc bố cục tệp tạm thời) là để khởi động lại cụm của chúng tôi vào mỗi cuối tuần khác. Kinh quá.
Để theo dõi việc sử dụng tempdb, có một số tập lệnh xung quanh có thể giúp ích, ví dụ như xem sp_whoIsActive của Adam Machanic , cụ thể:
Và tập lệnh này (và các tập lệnh trong các bình luận) từ @QuerySoldier:
Tôi sẽ đảm bảo tất cả các con trỏ của bạn đang sử dụng LOCAL STATIC READ_ONLY FORWARD_ONLY
(xem cái này và cái này ), và xem liệu có bất kỳ truy vấn đắt tiền nào đã sử dụng rộng rãi các bảng #temp / @table, CTE hoặc có thể chứa các loại không cần thiết hoặc dẫn đến tham gia băm không ... tất cả những điều này có thể góp phần gây ra vấn đề (tôi nghi ngờ bạn sẽ tìm thấy một nguyên nhân vàng). Cách khắc phục dễ dàng nhất như điểm bắt đầu "bang-for-your-buck" sẽ là sử dụng các tùy chọn con trỏ phù hợp và rẻ tiền thay vì mặc định.
Trong khi đó, tôi sẽ (a) cài đặt CU # 3 và (b) gọi PSS. Nói với họ rằng bạn đang sửa một lỗi rất cụ thể đã được xác nhận là lỗi và được phát hành cho người dùng khác dưới dạng hotfix riêng tư: "VSTS # 109112 - Bảng tạm hoãn giảm không quy mô cho khối lượng công việc nhất định." Bạn có thể phải trả lệ phí trường hợp ban đầu, nhưng vì đó là một lỗi, nên hoàn trả phí.
SELECT @@VERSION;
gì Theo câu trả lời của tôi, đề xuất đầu tiên của tôi sẽ là đảm bảo bạn đang sử dụng SP4 và bản cập nhật tích lũy gần đây nhất.