วิธีฟื้นฟูตัวนับประสิทธิภาพ SQL Server 2008 R2


11

ฉันใช้ SQL Server 2008 R2 Developer บน Windows 7 x64 เป็นอินสแตนซ์เริ่มต้น ด้วยเหตุผลบางอย่างเคาน์เตอร์วัดประสิทธิภาพของ SQL Server ดูเหมือนจะหายไป SELECT * FROM sys.dm_os_performance_countersส่งกลับศูนย์แถว

lodctr /T:perf-MSSQLSERVERsqlctr.iniผมพยายามทำงาน แม้ว่ามันจะเสร็จสมบูรณ์โดยไม่มีข้อผิดพลาด แต่ก็ไม่ได้แก้ไขอะไรแม้หลังจากรีสตาร์ทบริการรีจิสตรี ที่จริงเคาน์เตอร์หายไปจาก perfmon แล้ว unlodctr MSSQLSERVERยังคงบอกว่าตัวนับไม่ได้รับการติดตั้ง แต่lodctr /Q:MSSQLSERVERบอกว่ามีอยู่และเปิดใช้งานอยู่ ตัวนับ Windows และ. NET ปกติทำงานได้ดี

ในบันทึกข้อผิดพลาดของ Windows ฉันเห็นข้อผิดพลาด 8317:

ไม่สามารถสอบถามค่า 'ตัวนับแรก' ที่เกี่ยวข้องกับรีจิสตรีคีย์ 'HKLM \ SYSTEM \ CurrentControlSet \ Services \ MSSQLSERVER \ Performance' ตัวนับประสิทธิภาพของ SQL Server ถูกปิดใช้งาน

ฉันสงสัยว่าปัญหาอาจเกิดขึ้นจากการติดตั้ง SQL 2012 RC0 ที่ล้มเหลว คำแนะนำใด ๆ เกี่ยวกับวิธีการกู้คืนซึ่งขาดการติดตั้ง SQL Server 2008 R2 ซ้ำอีกครั้ง


คุณหมายถึง "Visual Studio 11" (ไม่ใช่ "2011"?)
gbn

ใช่ VS 11 ปัญหาเกี่ยวกับคำถามที่เกิดขึ้นกับเซิร์ฟเวอร์คือว่าไม่มีคำตอบใด ๆ ที่แก้ไขแล้ว ฉันหวังว่าผู้ใช้ที่มุ่งเน้น DBA จะสามารถให้ความช่วยเหลือที่เป็นประโยชน์ได้มากกว่า
RickNZ

คำตอบ:


4

ลองดูด้วยlodctr /Rมันจะสร้างตัวนับประสิทธิภาพทั้งหมดใหม่จากข้อมูลที่เก็บไว้ในรีจิสทรี


ในกรณีของฉันมีตัวนับจำนวนมากหายไปไม่ใช่เฉพาะ SQL Server lodctr /Rทำกลอุบายและฟื้นฟูพวกมันทั้งหมด ขอบคุณมากสำหรับเคล็ดลับ
Endrju

4

อ่านผ่านสิ่งนี้:

http://blogs.msdn.com/b/psssql/archive/2009/03/03/troubleshooting-sql-server-2005-2008-performance-counter-collection-problems.aspx

คำแนะนำที่ถูกต้องไม่ถูกต้อง 100% คุณต้องทำเช่นนี้โดยสมมติว่าคุณกำลังใช้อินสแตนซ์เริ่มต้น:

unlodctr MSSQLSERVER
lodctr perf-MSSQLSERVERsqlperf.ini
lodctr /T:MSSQLSERVER

จากนั้นรีบูท


ฉันพบว่าเส้นทาง symbolfile ใน perf-MSSQLSERVERsqlctr.ini ของฉันไม่ถูกต้อง ฉันแก้ไขแล้วดำเนินการ lodctr /T:perf-MSSQLSERVERsqlctr.ini, lodctr perf-MSSQLSERVERsqlctr.ini และรีสตาร์ท SQL Server
Der_Meister


2

ดูเหมือนเคาน์เตอร์วัดประสิทธิภาพสำหรับ SQL Server จะปิดใช้งานหรือรายการรีจิสทรีสำหรับเคาน์เตอร์วัดประสิทธิภาพเสียหาย

lodctr /E:MSSQLSERVER จะโหลดการตั้งค่ารีจิสตรีนับประสิทธิภาพ


0

หากคุณใช้ SQL Server รุ่น 32 บิตในการติดตั้ง Windows แบบ 64 บิตคุณจะต้องใช้ Performance Monitor รุ่น 32 บิตเพื่อดูตัวนับตามที่อธิบายไว้ในบล็อก MSDNนี้ ทำได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้:

  1. เรียกใช้perfmon.exeจาก%windir%\SysWOW64โฟลเดอร์
  2. เรียกใช้คำสั่ง mmc /32 perfmon.msc

ตรวจสอบให้แน่ใจว่าคุณใช้ SQL Server ด้วย Service Pack และ Hotfix ล่าสุด บทความ MSKB 2708726อธิบายถึงปัญหาที่ไฟล์. dll การตรวจสอบประสิทธิภาพไม่ได้รับการปรับปรุงอย่างเหมาะสมเมื่อใช้การปรับปรุงกับ SQL Server 2008 R2 หรือ SQL Server 2012

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