อาการ
สมมติว่าคุณมีสคริปต์ที่ใช้การแจ้งเตือนเหตุการณ์สำหรับ AUDIT_LOGIN และเหตุการณ์ AUDIT_LOGIN_FAILED ใน Microsoft SQL Server ๒๐๑๖และ๒๐๑๗ เมื่อคุณเรียกใช้สคริปต์คุณจะสังเกตเห็นว่า TempDB เติบโตขึ้นอย่างรวดเร็วในขนาด
คุณสามารถใช้แบบสอบถามด้านล่างเพื่อตรวจสอบว่าช่องว่างที่จัดสรรให้กับ TempDB วัตถุภายในได้อย่างถูกต้อง deallocated
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
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากการถดถอยใน6 การอัปเดตที่สะสมสำหรับ SQL Server ๒๐๑๖ Service Pack 1
การแก้ไข
ปัญหานี้ได้รับการแก้ไขแล้วในการอัปเดตที่สะสมต่อไปนี้สำหรับ SQL Server:
การอัปเดตที่สะสม10สำหรับ SQL Server ๒๐๑๗
การอัปเดตที่สะสมใหม่แต่ละรายการสำหรับ SQL Server ประกอบด้วยโปรแกรมแก้ไขด่วนทั้งหมดและการแก้ไขการรักษาความปลอดภัยทั้งหมดที่รวมอยู่ในการอัปเดตที่สะสมก่อนหน้านี้ ตรวจสอบการอัปเดตที่สะสมล่าสุดสำหรับ SQL Server:
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
เรียนรู้เกี่ยวกับคำ ศัพท์เฉพาะทางที่ Microsoft ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์