Activity Monitor kann keine Abfragen für den Server ausführen

13

Gibt es einen Fix, um die SSMS-Aktivitätsüberwachung zum Laufen zu bringen?

Problem:

SQL Server Activity Monitor schlägt mit einem Fehlerdialog fehl:

TITEL: Microsoft SQL Server Management Studio
Der Aktivitätsmonitor kann keine Abfragen für den Server [SERVER] ausführen. Der Aktivitätsmonitor für diese Instanz wird angehalten. Verwenden Sie das Kontextmenü im Übersichtsbereich, um den Aktivitätsmonitor fortzusetzen.

WEITERE INFORMATIONEN:
Auf dem Server [SERVER] kann die SQL Server-Prozess-ID [PID] nicht gefunden werden (Microsoft.SqlServer.Management.ResourceMonitoring)

Ich habe dieses Problem unter SQL Server 2008 R2 x64 Developer Edition, aber ich denke, es ist in allen 64-Bit-Systemen mit SQL Server 2008 unter einigen noch nicht identifizierten Bedingungen zu finden.

In Microsoft Connect gibt es dazu einen Fehlerbericht , der jedoch noch nicht behoben ist.

mika
quelle
1
-1, stimme für schließen. Wenn ich es dreimal lese, sehe ich immer noch keine einzige Frage darin.
TomTom
Ich habe das gleiche Problem auf x64 Win2008 mit SQL Server 2008. Möchten Sie wissen, wie Sie dies auch beheben,
Renaud Bompuis

Antworten:

20

Überprüfen Sie, ob im Systemmonitor SQLServer-Leistungsindikatoren vorhanden sind. Wenn nicht, erstellen Sie alle Leistungsindikatoren, auf denen der lodctr /RBefehl mit Administratorrechten ausgeführt wird , manuell neu :

cd \windows\system32
lodctr /R
mika
quelle
Ich habe versucht, aber immer noch nicht funktioniert
greg121
4

OK, ich denke ich habe eine Lösung gefunden.

Das Problem scheint die Mischung aus 32-Bit- und 64-Bit-Apps zu sein, die sich gegenseitig abfragen müssen.

Wenn Sie den DLL-Host für den Leistungsindikator des Dienstes in der Systemsteuerung "Dienste" aktivieren , sollte die Aktivitätsüberwachung jetzt funktionieren.

Renaud Bompuis
quelle
1
Dies zeigt in die richtige Richtung, dh Leistungsindikatoren. Ich habe die Aktivitätsüberwachung aktiviert, indem ich Leistungsindikatoren mit lodctr / R neu erstellt habe, aber der Status des DLL-Hosts für Leistungsindikatoren (gestartet / manuell / deaktiviert) spielt in meinem Fall keine Rolle.
mika
2

Im einfachsten Fall müssen Sie lediglich das SSMS neu starten. Ich hatte gerade dieses Problem mit SSMS 2008 R2, das gegen Server 2005 ausgeführt wurde, nachdem ich die Netzwerkverbindung verloren hatte, während der Aktivitätsmonitor ausgeführt wurde. Ich habe ein paar Tricks ausprobiert, bevor ich mich entschied, SSMS neu zu starten, und das hat geholfen.

Carlos
quelle
1

Wenn SQL auf einem Windows 2008 R2-Server oder -Cluster ausgeführt wird, wechseln Sie zur Anwendung Systemmonitor, erweitern Sie die Datensammlungssätze, und wählen Sie die Systemleistung aus. Wenn der Pfeil in der Zeile unter dem Menü grün ist, klicken Sie einfach darauf. Dadurch werden die Zähler neu gestartet. Möglicherweise möchten Sie dies auch für den Systemdiagnose-Erfassungssatz tun.

Aktualisieren Sie dann einfach die SQL-Instanz, für die Sie SSMS Activity Monitor öffnen möchten, oder öffnen Sie eine neue Verbindung. Damit sollte Ihr Problem gelöst sein.

Ich bin heute nur darauf gestoßen. Die Fehlermeldung "Verwenden Sie das Kontextmenü im Übersichtsfenster, um den Aktivitätsmonitor fortzusetzen" hat mir natürlich nicht weitergeholfen.

Hoffe das hilft jemandem.

user82106
quelle
1

Ich dachte, ich würde meine Erfahrungen mit diesem Problem posten.

Symptome - SQL Server 2008 R2 auf einem Dell-Computer erlitt plötzlich einen starken Leistungsabfall. Benutzeranwendungen wurden beim Ausführen von Abfragen sehr langsam. Die Aktivitätsüberwachung wird gestartet. Der oben genannte Prozess-Timeout-Fehler tritt jedoch auf, wenn Sie versuchen, die Prozessliste zu öffnen.

Wiederhergestellte Sicherungen der Datenbanken liefen auf einem zweiten Server mit der Hälfte des Arbeitsspeichers einwandfrei. Durch das Wiederherstellen derselben Sicherungen auf dem ursprünglichen Server wurde das Problem nicht behoben.

Ich habe dbcc's auf allen Datenbanken ausgeführt und Indizes neu erstellt. Erzwungene Neuerstellung der Windows-Auslagerungsdatei. Versucht, SQL Server neu zu starten. Versucht, den Server neu zu starten. Nichts davon hat funktioniert. Setzen Sie die Leistungsindikatoren wie oben beschrieben zurück. Dadurch wurde die Server-CPU-Auslastung verbessert, es wurden jedoch keine Probleme behoben.

Unser Netzwerkadministrator wollte Hardwareprobleme ausschließen. Er aktualisierte die Gerätetreiber für die RAID-Controller und fuhr den Server herunter. Er benutzte eine Stromsequenz von Dell, um den Speicher zu leeren. Dabei wurde die Stromversorgung unterbrochen. Nach dem Neustart lief der Server einwandfrei.

Wir glauben, dass das Problem durch das Aus- und Wiedereinschalten behoben wurde und dass das zugrunde liegende Problem im Hardwarespeicher lag.

John
quelle
0

Ich erhielt die gleiche Fehlermeldung und sah die technischen Details an. Das führte mich zu Microsoft.SqlServer.Management.ResourceMonitoring.dll. Ich dekompilierte die Methode, die den Fehler auslöste, und fand nach einigem Durchsuchen des Codes einen Bereich, in dem ein PerformanceCounter in der Gruppe "Process" instanziiert werden wollte. Nun, ich habe in Perfmon eingecheckt und diese Gruppe war nicht da. Andere Schalter funktionierten, aber dieser war nicht da. Sieht aus wie diese Gruppe irgendwie deaktiviert wurde.

So beheben Sie das Problem: Verwenden Sie regedit, um HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance zu finden. Dort befindet sich ein Schlüssel namens Disable Performance Counters. Löschen Sie ihn oder setzen Sie ihn auf 0. Möglicherweise müssen Sie nach dem Ändern des Schlüssels einen Neustart durchführen.


quelle
0

Ich kann noch keinen Kommentar abgeben, daher die neue Antwort ...

Ich habe zuerst den Vorschlag von EightVans ausprobiert

So beheben Sie das Problem: Verwenden Sie regedit, um HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance zu finden. Dort befindet sich ein Schlüssel namens Disable Performance Counters. Löschen Sie ihn oder setzen Sie ihn auf 0. Möglicherweise müssen Sie nach dem Ändern des Schlüssels einen Neustart durchführen.

Und ich habe das Problem immer noch erlebt. Dann habe ich Renauds Vorschlag ausprobiert:

Wenn Sie den DLL-Host für den Leistungsindikator des Dienstes in der Systemsteuerung "Dienste" aktivieren, sollte die Aktivitätsüberwachung jetzt funktionieren.

Und ich habe das Problem immer noch erlebt. Dann habe ich Mikas Vorschlag ausprobiert:

Überprüfen Sie, ob im Systemmonitor SQLServer-Leistungsindikatoren vorhanden sind. Wenn nicht, erstellen Sie alle Leistungsindikatoren, auf denen der Befehl lodctr / R mit Administratorrechten ausgeführt wird, manuell neu:

Jetzt funktioniert der Aktivitätsmonitor!

Ed Sykes
quelle
0

Ich mache es einfach

EightVans-Vorschlag zuerst

So beheben Sie das Problem: Verwenden Sie regedit, um HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance zu finden. Dort befindet sich ein Schlüssel namens Disable Performance Counters. Löschen Sie ihn oder setzen Sie ihn auf 0. Möglicherweise müssen Sie nach dem Ändern des Schlüssels einen Neustart durchführen.

und Mikas Vorschlag:

Überprüfen Sie, ob im Systemmonitor SQLServer-Leistungsindikatoren vorhanden sind. Wenn nicht, erstellen Sie alle Leistungsindikatoren, auf denen der Befehl lodctr / R mit Administratorrechten ausgeführt wird, manuell neu:

Und Activity Monitor läuft jetzt in meinem System!

Raul
quelle