Il monitor attività non è in grado di eseguire query sul server


13

C'è qualche correzione per far funzionare il monitor attività SSMS?

Problema:

SQL Server Activity Monitor ha esito negativo con una finestra di dialogo di errore:

TITOLO: Microsoft SQL Server Management Studio
Activity Monitor non è in grado di eseguire query sul server [SERVER]. Activity Monitor per questa istanza verrà posto in uno stato di pausa. Utilizzare il menu di scelta rapida nel riquadro di panoramica per ripristinare Activity Monitor.

INFORMAZIONI AGGIUNTIVE:
impossibile trovare l'ID processo [PID] di SQL Server sul server [SERVER] (Microsoft.SqlServer.Management.ResourceMonitoring)

Ho questo problema su SQL Server 2008 R2 x64 Developer Edition, ma penso che si trovi in ​​tutti i sistemi a 64 bit che utilizzano SQL Server 2008, in alcune condizioni non ancora identificate.

In Microsoft Connect è presente una segnalazione di bug , ma non è stata ancora risolta.


1
-1, vota per chiudere. Leggendolo tre volte non riesco ancora a vedere una sola domanda lì dentro.
TomTom,

Sto riscontrando lo stesso problema su x64 Win2008 con SQL Server 2008. Vorrei sapere come risolvere anche questo,
Renaud Bompuis

Risposte:



4

OK, penso di aver trovato una soluzione.

Il problema sembra riguardare il mix di app a 32 e 64 bit che devono interrogarsi a vicenda.

Se si attiva il servizio Host DLL contatore prestazioni nel pannello di controllo Servizi, ora Monitor attività dovrebbe funzionare.


1
Questo indica la giusta direzione, ovvero i contatori delle prestazioni. Ho fatto funzionare il monitor delle attività ricostruendo i contatori delle prestazioni usando lodctr / R, ma lo stato dell'host DLL del contatore delle prestazioni (avviato / manuale / disabilitato) non ha importanza nel mio caso.
mika,

2

Nel caso più semplice, è sufficiente riavviare SSMS. Ho appena avuto questo problema con SSMS 2008 R2 in esecuzione sul server 2005 dopo aver perso la connessione di rete mentre Activity Monitor era in esecuzione. Ho provato un paio di trucchi prima di decidere di riavviare SSMS e questo è ciò che mi ha aiutato.


1

Se SQL è in esecuzione su un server o cluster Windows 2008 R2, vai all'applicazione Performance Monitor, espandi i set di raccolta dati, quindi seleziona le prestazioni del sistema, se la freccia è verde sulla linea sotto il menu, fai clic su di essa. Questo riavvierà i contatori, potresti voler fare lo stesso per il set di raccolta Diagnosi del sistema.

Quindi aggiorna o apri una nuova connessione all'istanza SQL per cui desideri aprire SSMS Activity Monitor, questo dovrebbe aver risolto il tuo problema.

Mi sono appena imbattuto in questo oggi. Naturalmente, il messaggio di errore che dice Usa il menu contestuale nel riquadro di panoramica per riprendere Activity Monitor non mi ha aiutato minimamente.

Spero che questo aiuti qualcuno.


1

Ho pensato di pubblicare la mia esperienza con questo problema.

Sintomi: SQL Server 2008 R2, sul computer Dell, ha subito un enorme degrado delle prestazioni. Le applicazioni degli utenti sono diventate molto lente durante l'esecuzione di query. Il monitoraggio dell'attività si avvierebbe, ma l'errore di timeout del processo sopra riportato si verificherebbe se si provasse ad aprire l'elenco dei processi.

I backup ripristinati dei database sono stati eseguiti correttamente su un secondo server con metà della memoria. Il ripristino di questi stessi backup sul server originale non ha risolto il problema.

Ho eseguito dbcc su tutti i database, indici ricostruiti. Ricreazione forzata del file di paging di Windows. Ho provato a riavviare il server SQL. Ho provato a riavviare il server. Nessuno di questi ha funzionato. Ripristinare i contatori delle prestazioni come descritto sopra: questo ha migliorato l'utilizzo della CPU del server ma non ha risolto alcun problema.

Il nostro amministratore di rete voleva escludere problemi hardware. Ha aggiornato i driver di dispositivo per i controller RAID, quindi ha spento il server. Ha usato una sequenza di alimentazione di Dell per eliminare la memoria, questo ha comportato la disconnessione dall'alimentazione. Dopo il riavvio, il server ha funzionato correttamente.

Riteniamo che il ciclo di accensione abbia risolto il problema e che il problema di fondo riguardasse la memoria hardware.


0

Stavo ricevendo lo stesso messaggio di errore e ho visualizzato i dettagli tecnici. Ciò mi ha portato a Microsoft.SqlServer.Management.ResourceMonitoring.dll. Ho decompilato il metodo che stava generando l'errore e dopo un po 'di analisi del codice ho trovato un'area in cui un PerformanceCounter nel gruppo "Process" stava cercando di essere istanziato. Ho controllato Perfmon e quel gruppo non c'era. Altri contatori funzionavano ma quello non c'era. Sembra che quel gruppo sia stato disabilitato in qualche modo.

Come risolverlo: utilizzare regedit per trovare HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance è presente una chiave denominata Disabilita contatori delle prestazioni, eliminarla o impostarla su 0 Potrebbe essere necessario riavviare dopo aver modificato la chiave.


0

Non posso ancora commentare quindi la nuova risposta ...

Ho provato prima il suggerimento di EightVans

Come risolverlo: utilizzare regedit per trovare HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance è presente una chiave denominata Disabilita contatori delle prestazioni, eliminarla o impostarla su 0 Potrebbe essere necessario riavviare dopo aver modificato la chiave.

E ho ancora riscontrato il problema. Poi ho provato il suggerimento di Renault:

Se si attiva il servizio Host DLL contatore prestazioni nel pannello di controllo Servizi, ora Monitor attività dovrebbe funzionare.

E ho ancora riscontrato il problema. Quindi ho provato il suggerimento di Mika:

Controllare se esistono contatori delle prestazioni di SQL Server in Performance Monitor. In caso contrario, ricostruire manualmente tutti i contatori delle prestazioni che eseguono il comando lodctr / R con privilegi amministrativi:

Ora il monitor delle attività funziona!


0

Lo faccio e basta

Il suggerimento di otto furgoni prima

Come risolverlo: utilizzare regedit per trovare HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance è presente una chiave denominata Disabilita contatori delle prestazioni, eliminarla o impostarla su 0 Potrebbe essere necessario riavviare dopo aver modificato la chiave.

e il suggerimento di Mika:

Controllare se esistono contatori delle prestazioni di SQL Server in Performance Monitor. In caso contrario, ricostruire manualmente tutti i contatori delle prestazioni che eseguono il comando lodctr / R con privilegi amministrativi:

E il monitor delle attività è ora in esecuzione nel mio sistema!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.