El monitor de actividad no puede ejecutar consultas contra el servidor

13

¿Hay alguna solución para que el monitor de actividad SSMS funcione?

Problema:

El Monitor de actividad de SQL Server falla con un cuadro de diálogo de error:

TÍTULO: Microsoft SQL Server Management Studio.
El Monitor de actividad no puede ejecutar consultas en el servidor [SERVIDOR]. El Monitor de actividad para esta instancia se colocará en estado de pausa. Use el menú contextual en el panel de descripción general para reanudar el Monitor de actividad.

INFORMACIÓN ADICIONAL:
No se puede encontrar el ID de proceso de SQL Server [PID] en el servidor [SERVIDOR] (Microsoft.SqlServer.Management.ResourceMonitoring)

Tengo este problema en SQL Server 2008 R2 x64 Developer Edition, pero creo que se encuentra en todos los sistemas de 64 bits que usan SQL Server 2008, en algunas condiciones aún no identificadas.

Hay un informe de error al respecto en Microsoft Connect, pero aún no está resuelto.

mika
fuente
1
-1, vota a favor. Al leerlo tres veces, todavía no veo una sola pregunta allí.
TomTom
Tengo el mismo problema en x64 Win2008 con SQL Server 2008. Me gustaría saber cómo solucionar esto también,
Renaud Bompuis

Respuestas:

4

OK, creo que he encontrado una solución.

El problema parece ser con la combinación de aplicaciones de 32 bits y 64 bits que necesitan consultarse entre sí.

Si habilita el servicio Host Counter DLL Host en el panel de control de Servicios, el Monitor de actividad ahora debería funcionar.

Renaud Bompuis
fuente
1
Esto apunta a la dirección correcta, es decir, contadores de rendimiento. Obtuve el monitor de actividad trabajando reconstruyendo contadores de rendimiento usando lodctr / R, pero el estado de Host Host DLL de contador de rendimiento (iniciado / manual / deshabilitado) no importa en mi caso.
mika
2

En el caso más simple, todo lo que necesita hacer es reiniciar el SSMS. Acabo de tener este problema con SSMS 2008 R2 ejecutándose contra el servidor 2005 después de haber perdido la conexión de red mientras se ejecutaba el Activity Monitor. Intenté un par de trucos antes de decidir reiniciar SSMS y eso fue lo que ayudó.

Carlos
fuente
1

Si SQL se está ejecutando en un servidor o clúster de Windows 2008 R2, vaya a la aplicación Monitor de rendimiento, expanda los Conjuntos de recopilación de datos, luego seleccione el Rendimiento del sistema, si la flecha es verde en la línea debajo del menú, simplemente haga clic en él. Esto reiniciará los contadores, es posible que desee hacer lo mismo para el conjunto de recopilación de Diagnóstico del sistema.

Luego, simplemente actualice o abra una nueva conexión a la instancia de SQL para la que desea abrir SSMS Activity Monitor, esto debería haber resuelto su problema.

Me topé con esto hoy. Por supuesto, el mensaje de error que dice Usar el menú contextual en el panel de resumen para reanudar el Monitor de actividad no me ayudó en lo más mínimo.

Espero que esto ayude a alguien.

user82106
fuente
1

Pensé en publicar mi experiencia con este problema.

Síntomas: SQL Server 2008 R2, en la máquina Dell, de repente sufrió una gran degradación del rendimiento. Las aplicaciones de usuario se volvieron muy lentas al realizar consultas. El monitor de actividad comenzaría, pero el error de tiempo de espera del proceso anterior se produciría si intentara abrir la lista de procesos.

Las copias de seguridad restauradas de las bases de datos funcionaron bien en un segundo servidor con la mitad de la memoria. Restaurar estas mismas copias de seguridad en el servidor original no resolvió el problema.

Ejecuté dbcc's en todas las bases de datos, índices reconstruidos. Recreación forzada del archivo de página de Windows. Intenté reiniciar el servidor SQL. Intenté reiniciar el servidor. Ninguno de estos funcionó. Restablezca los contadores de rendimiento como se describió anteriormente: esto mejoró el uso de la CPU del servidor pero no resolvió ningún problema.

Nuestro administrador de red quería descartar problemas de hardware. Actualizó los controladores de dispositivo para los controladores RAID, luego apagó el servidor. Utilizó una secuencia de energía de Dell para purgar la memoria, esto implicaba desconectarse de la fuente de alimentación. Después de reiniciar, el servidor funcionó bien.

Creemos que el ciclo de energía resolvió el problema y que el problema subyacente fue con la memoria del hardware.

John
fuente
0

Recibí el mismo mensaje de error y vi los Detalles técnicos. Eso me llevó a Microsoft.SqlServer.Management.ResourceMonitoring.dll. Descompilé el método que arrojaba el error y después de un poco de rastreo a través del código, encontré un área donde un PerformanceCounter en el grupo "Proceso" intentaba instanciarse. Bueno, me registré en Perfmon y ese grupo no estaba allí. Otros mostradores estaban funcionando pero ese no estaba allí. Parece que ese grupo se deshabilitó de alguna manera.

Cómo solucionarlo: use regedit para encontrar HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance allí hay una clave llamada Disable Performance Counters, elimínelo o configúrelo en 0 Es posible que necesite reiniciar después de cambiar la clave.


fuente
0

No puedo comentar aún, por lo tanto, la nueva respuesta ...

Probé la sugerencia de EightVans primero

Cómo solucionarlo: use regedit para encontrar HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance allí hay una clave llamada Disable Performance Counters, elimínelo o configúrelo en 0 Es posible que necesite reiniciar después de cambiar la clave.

Y todavía experimenté el problema. Luego probé la sugerencia de renaud:

Si habilita el servicio Host Counter DLL Host en el panel de control de Servicios, el Monitor de actividad ahora debería funcionar.

Y todavía experimenté el problema. Luego probé la sugerencia de Mika:

Compruebe si existen contadores de rendimiento de SQLServer en el Monitor de rendimiento. De lo contrario, reconstruya manualmente todos los contadores de rendimiento que ejecutan el comando lodctr / R con privilegios administrativos:

¡Ahora el monitor de actividad está funcionando!

Ed Sykes
fuente
0

yo solo hago

Sugerencia de EightVans primero

Cómo solucionarlo: use regedit para encontrar HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ PerfProc \ Performance allí hay una clave llamada Disable Performance Counters, elimínelo o configúrelo en 0 Es posible que necesite reiniciar después de cambiar la clave.

y la sugerencia de Mika:

Compruebe si existen contadores de rendimiento de SQLServer en el Monitor de rendimiento. De lo contrario, reconstruya manualmente todos los contadores de rendimiento que ejecutan el comando lodctr / R con privilegios administrativos:

¡Y el monitor de actividad ahora se está ejecutando en mi sistema!

Raul
fuente