Bagaimana cara menghidupkan kembali penghitung kinerja SQL Server 2008 R2?


11

Saya menjalankan SQL Server 2008 R2 Developer pada Windows 7 x64, sebagai contoh default. Untuk beberapa alasan, penghitung kinerja SQL Server tampaknya telah menghilang. SELECT * FROM sys.dm_os_performance_countersmengembalikan nol baris.

Saya mencoba berlari lodctr /T:perf-MSSQLSERVERsqlctr.ini. Meskipun selesai tanpa kesalahan, itu tidak memperbaiki apa pun, bahkan setelah me-restart layanan Remote Registry. Bahkan, penghitung sekarang hilang dari perfmon. unlodctr MSSQLSERVERmasih mengatakan bahwa penghitung tidak diinstal, tetapi lodctr /Q:MSSQLSERVERmengatakan mereka ada dan diaktifkan. Penghitung Windows dan .NET biasa berfungsi dengan baik.

Di log Kesalahan Windows, saya melihat Kesalahan 8317:

Tidak dapat meminta nilai 'Penghitung Pertama' yang terkait dengan kunci registri 'HKLM \ SYSTEM \ CurrentControlSet \ Services \ MSSQLSERVER \ Performance'. Penghitung kinerja SQL Server dinonaktifkan.

Saya menduga masalahnya mungkin dipicu oleh instalasi SQL 2012 RC0 yang gagal. Ada saran untuk cara memulihkan, pendek menginstal ulang SQL Server 2008 R2?


Maksud Anda "Visual Studio 11" (bukan "2011"?)
gbn

Ya, VS 11. Masalah dengan pertanyaan pada serverfault adalah bahwa tidak ada jawaban yang diposting menyelesaikan masalah. Saya berharap pengguna yang berorientasi DBA mungkin dapat memberikan bantuan yang lebih bermanfaat.
RickNZ

Jawaban:


4

Selamat mencoba lodctr /R, ini akan membangun kembali semua penghitung kinerja dari informasi yang disimpan dalam registri.


Dalam kasus saya ada lebih banyak penghitung yang hilang, tidak hanya SQL Server. lodctr /Rmelakukan trik dan memulihkan semuanya. Terima kasih banyak atas triknya.
Endrju

4

Baca ini:

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

Instruksi yang tepat tidak 100% benar. Anda perlu melakukan ini, dengan asumsi Anda menggunakan instance default:

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

Kemudian reboot.


Saya menemukan bahwa jalur symbolfile di perf-MSSQLSERVERsqlctr.ini saya salah. Saya memperbaikinya, menjalankan lodctr / T:perf-MSSQLSERVERsqlctr.ini, lodctr perf-MSSQLSERVERsqlctr.ini dan memulai kembali SQL Server.
Der_Meister


2

Sepertinya Penghitung Kinerja untuk SQL Server DISABLED atau entri registri untuk penghitung kinerja rusak.

lodctr /E:MSSQLSERVER akan memuat kembali pengaturan registri penghitung kinerja.


0

Jika Anda menjalankan SQL Server versi 32-bit pada instalasi Windows 64-bit, Anda harus menggunakan Monitor Kinerja versi 32-bit untuk melihat penghitung seperti dijelaskan di Blog MSDN ini . Lakukan dengan menggunakan salah satu dari metode ini:

  1. Jalankan perfmon.exedari %windir%\SysWOW64folder
  2. Jalankan perintah mmc /32 perfmon.msc

Juga, pastikan Anda menjalankan SQL Server dengan Paket Layanan dan Perbaikan Terbaru. Artikel MSKB 2708726 menjelaskan masalah di mana berkas .dll Monitor Kinerja tidak diperbarui dengan benar saat menerapkan pembaruan ke SQL Server 2008 R2 atau SQL Server 2012.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.