เรากำลังพยายามหาสาเหตุของการทำงานของ sql server ที่ทำงานช้าการสืบค้น / การดึงข้อมูลจากหนึ่งในฐานข้อมูลขนาด 300 GB โฮสต์บนเซิร์ฟเวอร์ด้วยการกำหนดค่าด้านล่าง:
เซิร์ฟเวอร์ Windows 2003 R2, SP2, Enterprise Edition, RAM 16 GB, 12 CPU'S 32 บิต
SQL Server 2005, SP4, Enterprise Edition, 32 บิต
เราได้แจ้งธุรกิจเกี่ยวกับการอัปเกรดเป็น 64 บิตซึ่งจะใช้เวลามากกว่าหนึ่งเดือน
แต่สำหรับปัญหาปัจจุบันเราพยายามรวบรวมข้อมูลถ้าเราสามารถแก้ไขความกดดันของหน่วยความจำหรือในที่สุดก็มาถึงข้อสรุปเพื่อเพิ่มแรม
การดำเนินการเสร็จสิ้น: การจัดทำดัชนีและอัพเดตสถานะใหม่นั้นเหมาะสมสำหรับฐานข้อมูล
ดังที่แสดงไว้ด้านล่างเราได้สังเกตสัญญาณเซมาฟอร์เป็นเวลา 5 วันที่ผ่านมาวิ่งในช่วงเวลาโหลด:
ข้อมูลน้อยหลังจากแบบสอบถามด้านล่าง: ขนาดของบัฟเฟอร์ = 137272
SELECT SUM(virtual_memory_committed_kb)
FROM sys.dm_os_memory_clerks
WHERE type='MEMORYCLERK_SQLBUFFERPOOL'
และหน่วยความจำสัญญาณ = 644024 ต่อแบบสอบถามด้านล่าง
SELECT SUM(total_memory_kb)
FROM sys.dm_exec_query_resource_semaphores
ด้านล่างนี้เป็นข้อมูลเพิ่มเติมที่รวบรวมได้จากdm_exec_query_resource_semaphores
และsys.dm_exec_query_memory_grants
DMV ของ
ดังนั้นจากข้อมูลข้างต้นที่รวบรวมและต่อสัญญาณข้อมูลของ SP_Blitz แหล่งสัญญาณดูเหมือนว่าจะเป็นปัญหา
หน่วยความจำ 'target_memory_kb' ถูกกำหนดให้กับเซมาฟอร์ id ของทรัพยากรต่ำเกินไปเมื่อเปรียบเทียบกับ RAM ขนาด 16 GB ที่มีอยู่
หมายเหตุ * ต่อการวิเคราะห์ใน 8 ชั่วโมงการทำงาน 'target_memory_kb' มักจะน้อยกว่า 1 GB เทียบกับ 16 GB ที่มีอยู่หรือไม่
สิ่งที่อาจเป็นปัญหาที่นี่และวิธีแก้ไขโปรดแนะนำ
ขอบคุณ