Triệu chứng
Bạn nhận thấy sự tăng trưởng không mong muốn của tệp dữ liệu tempdb nếu các ứng dụng sử dụng Microsoft SQL Server Service Broker được cấu hình để có một mẫu thông báo của một thư cho mỗi hội thoại. Mẫu này tương tự như mẫu "cháy và quên" thường được sử dụng trong các ứng dụng kiểm tra.
Nếu bạn truy vấn dạng xem quản lý động sys.dm_db_task_space_usage (DMV) trong khi sự cố này đang xảy ra, bạn có thể thấy rằng giá trị "internal_objects_dealloc_page_count" không tăng cùng tỷ lệ như "internal_objects_alloc_page_count" cho ID phiên đang chạy các tác vụ bên trong Service Broker.
Ngoài ra, không gian tempdb không được phát hành ngay cả sau khi tất cả các cuộc hội thoại đang chờ xử lý được đóng và dọn sạch.
Nguyên nhân
Sự phát triển của tệp dữ liệu chủ yếu là do việc chèn liên tục và cập nhật cho bảng sys.sysdesend. Trong trường hợp này, tệp dữ liệu tempdb tiếp tục phát triển khi bạn sử dụng Service Broker.
Giải pháp
Sự cố này đã được khắc phục trong Microsoft SQL Server 2016.
Thông tin cập nhật tích lũy
Bản cập nhật Tích lũy 5 cho SQL Server 2012 Gói Dịch vụ 3 (SP3)
Bản cập nhật tích lũy 10 cho SQL Server 2014 SP1
Bản cập nhật tích lũy 3 cho SQL Server 2014 SP2
Giới thiệu về các bản cập nhật tích lũy cho SQL Server
Mỗi bản cập nhật tích lũy mới dành cho SQL Server sẽ chứa tất cả các bản cập nhật nóng và tất cả các bản sửa lỗi bảo mật được bao gồm trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất dành cho doanh SQL Server:
Bản cập nhật tích lũy mới nhất cho SQL Server 2012 SP3
Bản cập nhật tích lũy mới nhất cho SQL Server 2014 SP1/SP2
Xem thêm thông tin
Để lấy lại dung lượng chưa phát hành từ tempdb, hãy khởi động lại SQL Server vụ.
Để tránh sự cố này, hãy làm theo các đề xuất chung trong phần "Kỹ thuật Hiệu suất và Khả năng mở rộng" của chủ đề TechNet sau đây:
Nhà môi giới dịch vụ: Kỹ thuật hiệu suất và khả năng mở rộng
Trạng thái
Microsoft xác nhận rằng đây là một sự cố đã biết trong thiết kế hiện tại của Trình môi giới Dịch vụ.