Triệu chứng
Giả sử bạn có một tập lệnh sử dụng thông báo sự kiện cho các sự kiện AUDIT_LOGIN và AUDIT_LOGIN_FAILED trong Microsoft SQL Server 2016 và 2017. Khi bạn chạy tập lệnh, bạn sẽ nhận thấy rằng TempDB tăng nhanh về kích cỡ.
Bạn có thể sử dụng truy vấn dưới đây để kiểm tra xem dung lượng được phân bổ cho các đối tượng nội bộ TempDB có được hủy phân bổ đúng cách hay không.
SELECT *
FROM (
SELECT TS.internal_objects_alloc_page_count , TS.internal_objects_dealloc_page_count, [Net Allocation MB] = CAST((TS.internal_objects_alloc_page_count - TS.internal_objects_dealloc_page_count) AS DECIMAL(15, 2)) / 128
, TS.session_id
, ER.command
FROM sys.dm_db_task_space_usage TS
INNER JOIN sys.dm_exec_requests ER ON ER.request_id = TS.request_id AND ER.session_id = TS.session_id
where TS.session_id < 50
) internal
where [Net Allocation MB] != 0
Nguyên nhân
Sự cố này xảy ra vì sự hồi quy trong Bản cập nhật Tích lũy 6 dành cho SQL Server 2016 Gói Dịch vụ 1.
Giải pháp
Sự cố này đã được khắc phục trong các bản cập nhật tích lũy sau đây dành cho SQL Server:
Bản cập nhật tích lũy 10 cho SQL Server 2017
Bản cập nhật tích lũy 2 cho SQL Server 2016 SP2
Bản cập nhật tích lũy 10 cho SQL Server 2016 SP1
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 chứa tất cả các bản hotfix và toàn bộ bản sửa lỗi bảo mật đã được tích hợp 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 cho SQL Server:
Bản cập nhật tích lũy mới nhất cho SQL Server 2017
Bản cập nhật tích lũy mới nhất cho SQL Server 2016
Trạng thái
Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".
Tham khảo
Tìm hiểu về thuật ngữ mà Microsoft dùng để mô tả các bản cập nhật phần mềm.