หากคุณแน่ใจว่าผู้ใช้นั้นมีปัญหาView Server State
(และดูเหมือนว่าในภาพหน้าจอของคุณ)
จากนั้นมีสาเหตุหลายประการที่ใส่ไว้ในบล็อก msdnก่อนหน้านี้ ตั้งแต่:
- วัตถุของประสิทธิภาพและการตั้งค่าตัวนับในระหว่างการติดตั้ง SQL Server ล้มเหลว
- ส่วนผสมของแพลตฟอร์ม 64 และ 32 บิต
- สิทธิ์ของรีจิสทรีได้รับการเบ้
ในการแก้ไขปัญหานี้เราสามารถใช้ขั้นตอนเดียวกันกับที่ระบุไว้ในแนวทางในการติดตั้งเคาน์เตอร์วัดประสิทธิภาพในการโพสต์แลกเปลี่ยนสแต็กอื่น:
การใช้พรอมต์คำสั่งผู้ดูแลระบบยกระดับให้ทำตามขั้นตอนต่อไปนี้
- เปลี่ยนพา ธ ไปยัง
BINN
ไดเร็กทอรีของอินสแตนซ์ SQL Server ที่คุณต้องการแก้ไข
(Ex: C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn
)
- ดำเนินการ
unlodctr <<REGISTERED SERVER NAME>>
ตัวอย่าง: unlodctr MSSQL$SQL2008
หรือSQLAgent$SQL2008
...
- ดำเนินการ
lodctr /T:<<perf-sql* matching the counters you desire to load>>
ตัวอย่าง: perf-MSSQL$SQL2008sqlctr.ini
หรือperf-SQLAgent$SQL2008sqlagtctr.ini
สำหรับ SQLAgent /T
เป็นสิ่งสำคัญในการโหลดให้บริการนับประสิทธิภาพการทำงานของ SQL Server เป็นผู้ให้บริการที่เชื่อถือได้
- วนรอบบริการรีจิสตรีระยะไกล:
net stop "Remote Registry"
จากนั้นnet start "Remote Registry"
- บังคับการซิงโครไนซ์ WMI โดย
winmgmt /resyncperfctr "<<PID>>"
ที่ PID เป็นรหัสกระบวนการของWinPriv.exe
(คุณสามารถรับได้จากตัวจัดการงาน)
อาจจำเป็นต้องมีสิ่งต่อไปนี้ด้วย:
sysadmin
สิทธิ์แล้วเขาไม่จำเป็นต้องview server state
ได้รับอนุญาตให้เรียกใช้ DMV ที่รวมอยู่ในบทบาทดูแลระบบ ในแง่ของข้างต้นหากไม่มีการส่งคืนแถวหมายความว่าตัวนับ perfmon ไม่ได้ถูกติดตั้ง