Tôi có truy vấn cơ sở con trỏ lớn chạy trong một thủ tục được lưu trữ trong công việc. Nó làm cho tấn tính toán cho các bó dữ liệu thị trường trong một vòng lặp cả ngày dài. Mỗi lần lặp lại các mẩu hồ sơ của chuỗi thời gian lịch sử từ một đĩa, nối nó với các bảng tạm thời với chỉ mục thích hợp, kết hợp chúng trong một số trunsformations với kết quả trung gian và lưu trữ kết quả tính toán vào đĩa. Vào cuối mỗi vòng lặp tôi thả (chủ yếu) hoặc cắt ngắn tất cả các bảng tạm thời để deallocate các trang của các đối tượng người dùng bên trong tempdb và nhận được không gian tên đã sẵn sàng cho lần lặp tiếp theo. Vấn đề của tôi là sau mỗi chu kỳ tất cả các đối tượng bên trong, mà DB Engine tạo ra để thực hiện truy vấn và đổ chúng vào tempdb, - giữ cho không gian đĩa được dành riêng cho chúng thậm chí bị deallocated sau khi giao dịch cam kết. Và nó tăng lên trên mỗi chu kỳ khi nhóm tiếp theo của các đối tượng nội bộ mới được quét vào đĩa.SQL Server: buộc dọn dẹp các đối tượng bên trong được phân phối trong tempdb để giải phóng không gian đĩa dành riêng cho chúng trong một phiên đã mở
Nó dẫn đến vĩnh viễn tempdb grouth, tất cả tích lũy không gian dành riêng liên quan đến các đối tượng nội bộ được phân bổ mới và mới. DB Engine phát hành/thu nhỏ (bất cứ) các tấn không gian đĩa bị lãng phí chỉ sau khi phiên đóng cửa khi proc kết thúc chu kỳ của nó.
Tôi có thể khắc phục sự cố bằng cách giảm số chu kỳ trong mỗi lần chạy công việc, chỉ cần bắt đầu lại. Nhưng tôi muốn có một quyết định cơ bản hoàn chỉnh: Tôi cần một lệnh hoặc bất kỳ mẹo nào trong một phiên để buộc thu gom rác theo yêu cầu của tôi để dọn dẹp/xóa hoàn toàn các đối tượng bên trong và giải phóng không gian đĩa tạm thời dành riêng cho chúng. Ngày googling đã không giúp đỡ. Folks, giúp đỡ!
gotqn, điều đó rất hay. Tôi cho rằng, chia tách các phiên riêng biệt, giống như của bạn, là cách duy nhất cho DB Engine hiện tại. Tôi sẽ mơ về việc khởi động lại một phiên trong một proc, sẽ dễ dàng hơn cho việc viết mã, không có chuỗi. Nhưng cũng không thể. Quả hạch. Tôi sẽ đánh dấu bài viết của bạn là câu trả lời, nếu không ai giải phóng một số tính năng ẩn không có giấy tờ hoặc một số hack holly khác – Globe