Wie kann man die Leistungsindikatoren von SQL Server 2008 R2 wiederbeleben?

11

Ich verwende SQL Server 2008 R2 Developer unter Windows 7 x64 als Standardinstanz. Aus irgendeinem Grund scheinen die Leistungsindikatoren von SQL Server verschwunden zu sein. SELECT * FROM sys.dm_os_performance_countersGibt null Zeilen zurück.

Ich habe versucht zu rennen lodctr /T:perf-MSSQLSERVERsqlctr.ini. Obwohl es fehlerfrei abgeschlossen wurde, wurde auch nach dem Neustart des Remote-Registrierungsdienstes nichts behoben. Tatsächlich fehlen die Zähler jetzt in Perfmon. unlodctr MSSQLSERVERsagt immer noch, dass die Zähler nicht installiert sind, aber lodctr /Q:MSSQLSERVERdass sie vorhanden und aktiviert sind. Normale Windows- und .NET-Zähler funktionieren einwandfrei.

Im Windows-Fehlerprotokoll wird Fehler 8317 angezeigt:

Der mit dem Registrierungsschlüssel 'HKLM \ SYSTEM \ CurrentControlSet \ Services \ MSSQLSERVER \ Performance' verknüpfte Wert 'First Counter' kann nicht abgefragt werden. SQL Server-Leistungsindikatoren sind deaktiviert.

Ich vermute, dass das Problem möglicherweise durch eine fehlgeschlagene Installation von SQL 2012 RC0 ausgelöst wurde. Irgendwelche Vorschläge zur Wiederherstellung, kurz vor der Neuinstallation von SQL Server 2008 R2?

RickNZ
quelle
Du meinst "Visual Studio 11" (nicht "2011"?)
gbn
Ja, VS 11. Das Problem mit der Frage zum Serverfehler besteht darin, dass keine der veröffentlichten Antworten das Problem behoben hat. Ich hoffe, dass DBA-orientierte Benutzer möglicherweise weitere nützliche Hilfe leisten können.
RickNZ

Antworten:

4

Probieren Sie es aus lodctr /R, es werden alle Leistungsindikatoren aus den in der Registrierung gespeicherten Informationen neu erstellt.


quelle
In meinem Fall fehlten mehr Zähler, nicht nur die von SQL Server. lodctr /Rtat den Trick und stellte sie alle wieder her. Vielen Dank für den Trick.
Endrju
4

Lesen Sie dies durch:

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

Die genauen Anweisungen sind nicht 100% korrekt. Sie müssen dies tun, vorausgesetzt, Sie verwenden die Standardinstanz:

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

Dann neu starten.


quelle
Ich habe festgestellt, dass der Pfad der Symboldatei in meiner perf-MSSQLSERVERsqlctr.ini falsch war. Ich habe es behoben, lodctr /T:perf-MSSQLSERVERsqlctr.ini, lodctr perf-MSSQLSERVERsqlctr.ini ausgeführt und SQL Server neu gestartet.
Der_Meister
2

Es sieht so aus, als ob die Leistungsindikatoren für SQL Server deaktiviert sind oder die Registrierungseinträge für die Leistungsindikatoren beschädigt sind.

lodctr /E:MSSQLSERVER lädt die Registrierungseinstellungen des Leistungsindikators neu.

RAVJEET SINGH
quelle
0

Wenn Sie eine 32-Bit-Version von SQL Server unter einer 64-Bit-Installation von Windows ausführen, müssen Sie die 32-Bit-Version von Performance Monitor verwenden, um die Zähler anzuzeigen, wie in diesem MSDN-Blog erläutert . Verwenden Sie dazu eine der folgenden Methoden:

  1. Führen Sie perfmon.exeaus dem %windir%\SysWOW64Ordner
  2. Führen Sie den Befehl aus mmc /32 perfmon.msc

Stellen Sie außerdem sicher, dass Sie SQL Server mit den neuesten Service Packs und Hotfixes ausführen. Der MSKB-Artikel 2708726 beschreibt ein Problem, bei dem Performance Monitor-DLL-Dateien beim Anwenden von Updates auf SQL Server 2008 R2 oder SQL Server 2012 nicht ordnungsgemäß aktualisiert werden.

Ich sage Reinstate Monica
quelle