วิธีการตรวจสอบการหยุดชะงัก


11

คุณเริ่มแก้ไขปัญหาการหยุดชะงักของ SQL Server 2005/2008 เมื่อใดและอย่างไร การแจ้งเตือนถูกเปิดใช้งาน SSMS ผ่านการแจ้งเตือนสภาพประสิทธิภาพของ SQL Server, วัตถุ -> SQLServer: ล็อค, Counter-> ล็อค Waits / Sec, อินสแตนซ์: _Total, การแจ้งเตือนหากตัวนับ: เพิ่มขึ้นสูงกว่าค่า 3 นี่เป็นวิธีเชิงรุก ค่าที่ยอมรับได้คืออะไร? ฉันขอขอบคุณที่คุณช่วย ขอขอบคุณ!!!

คำตอบ:


7

3

สิ่งแรกที่ต้องทำคือดูกราฟการหยุดชะงักและดูว่าเกิดอะไรขึ้น จากนั้นคุณสามารถพิจารณาตัวเลือกของคุณซึ่งโดยทั่วไปแล้วต้มลงไปเป็น a) ปรับเปลี่ยนแอปพลิเคชันให้เป็นมาตรฐานในลำดับของการล็อกวัตถุ (เช่นถ้าเป็นไปได้ให้ตรรกะแอปพลิเคชันทำการประชุมกับนักพัฒนาของคุณ ) ดูว่าคุณใช้งานจริง ๆ ในระดับการแยกที่เหมาะสมในแต่ละธุรกรรมหรือไม่


ตามstackoverflow.com/a/112256/14731คำสั่งล็อคที่สอดคล้องไม่ได้ป้องกันการหยุดชะงัก
Gili

3

ฉันจะไปกับการติดตามฝั่งเซิร์ฟเวอร์โดยอัตโนมัติจาก 2 ประเด็นหลัก:

  • ข้อความค้นหาแบบยาว (คุณกำหนดระยะเวลาที่มีความยาวสำหรับสภาพแวดล้อมของคุณ)

  • deadlocks - ตรวจสอบกราฟ deadlock และ Lock: chain deadlock

คุณจะได้รับไฟล์ติดตามทุกวันและคุณสามารถตรวจสอบการกระทำได้ - ดูว่าเหตุการณ์ที่กำหนดไว้บางอย่างทำให้เกิดปัญหาหรือไม่ ท่านสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับโปรไฟล์การผลิตในคำถามนี้: ใช้ SQL Profiler บนฐานข้อมูลที่อยู่ในการผลิต



1

System Center Operations Manager (SCOM) กับการจัดการชุด SQL Server สามารถแจ้งเตือนเกี่ยวกับ deadlocks ถ้าคุณเปิดใช้การบันทึกข้อความ 1205 คุณสามารถเปิดใช้งานได้กับแบบสอบถาม SQL EXEC sp_altermessage 1205, 'WITH_LOG', 'true'ต่อไปนี้:

โปรดดูคำตอบของฉันที่ "ทำไมชื่อวัตถุและชื่อดัชนีบรรจุในกราฟการหยุดชะงัก" สำหรับสคริปต์ PowerShell ฉันเขียนว่าจะดึงข้อมูล deadlock จากบัฟเฟอร์เหตุการณ์และเขียนกราฟ deadlock เป็นไฟล์ xdl ที่สามารถเปิดได้ใน SQL Management Studio 2012 หรือสูงกว่าหรือดูในแผ่นจดบันทึกเพื่อดูรายละเอียดเพิ่มเติม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.