Agente SQL Server iniciando la auto-terminación

9

Durante el último mes, uno de mis servidores se enfrenta a problemas con el Agente SQL Server. Se detiene automáticamente con el siguiente error, que ocurre al azar:

Sql Agent Output file
[097] Se detectó una pérdida de memoria [204 bytes].
Excepción 5 capturada en la línea 403 del archivo e: \ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cpp. SQLServerAgent iniciando la auto-terminación

Busqué en Google este error pero no obtuve mucha información al respecto. Tanto SQL Server como Agent se ejecutan con la misma cuenta de dominio; sin embargo, el problema es solo con el servicio del Agente SQL Server.

Tampoco puedo ver el servicio del Agente SQL Server en el Administrador de configuración de SQL Server. Revisé el registro de errores de SQL Server y los registros del Visor de eventos de Windows, pero no vi ninguna actividad sospechosa.

Mis ajustes de memoria están configurados correctamente. El servidor tiene 32 GB de RAM y SQL Server está asignado para usar una memoria máxima de 26 GB.

Detalles del sistema:

  • SQL Server 2012 SP2 Std Edition 11.0.5058 64 bit
  • Windows Server 2008 R2 Ent Edition 64 bit
  • Dedicado a SQL Server (no se ejecutan otras aplicaciones en el servidor)
  • El servidor se actualizó hace unos meses de SQL Server 2005 EE a 2012 SE.
  • No estamos utilizando un servidor de reenvío de eventos .

También revisé la base de datos msdb . Ejecuté checkdb en él y se completó con éxito sin ningún error. Necesito tu ayuda para arreglar dos cosas:

  1. Para corregir la detención aleatoria del servicio del Agente SQL Server
  2. Para agregar el servicio del Agente SQL Server en el Administrador de configuración de SQL Server

Tenemos software de terceros para el monitoreo, por lo que se nos notifica de inmediato si se detiene el servicio del agente. Por ahora solo estamos reiniciando el servicio. Pero queremos encontrar la causa raíz.

Ejecuté la siguiente consulta sugerida por Sean Gallardy y obtuve 95 filas de vuelta. No sé cómo interpretar el resultado.

select * 
from sys.dm_os_loaded_modules 
where name not like '%microsoft%'

Lamentablemente, no puedo publicar los resultados por razones de seguridad.

Hasta que encuentre la solución a este problema, he agregado intentos de reintento al Agente SQL Server para que pueda reiniciarse automáticamente cuando se detiene.

SQLPRODDBA
fuente
Cuando el agente es asesinado, ¿puede ingresar al servidor y verificar el uso del archivo de página? Hay elementos de Connect sobre esto causado por el agotamiento del archivo de página por varias aplicaciones (incluido HyperBac).
Cody Konior el
Lo comprobaré cuando vuelva a suceder.
SQLPRODDBA
Cuando actualizó de SQL Server 2005 EE a SQL Server 2012 SE, ¿realizó una actualización en el lugar? ¿O hiciste una instalación completamente nueva de SQL Server? Pregunto porque a principios de la década de 2000 me encontré con un par de fallas con las actualizaciones in situ que se resolvieron eliminando por completo la carpeta y reinstalando SQL Server en una carpeta vacía. (Sí, fue una molestia).
RLF

Respuestas:

1

Como recientemente actualizó hace unos meses de SQL Server 2005 EE a 2012 SE, debe guardar y borrar sus registros de eventos porque SqlAgent puede bloquearse cuando ve ID de registro de eventos de una versión anterior de SQL Server. Por ejemplo, el Agente puede bloquearse porque lee un evento registrado por una compilación de SQL Server anterior a la compilación actual, que solo contiene datos con UNA cadena de inserción y el agente intentará formatearlo utilizando la última información de recursos que requiere DOS cadenas. Esto llevaría a una breve pérdida de memoria justo antes de que se apague, ya que se asigna un búfer para la cadena en la que intenta imprimir cuando se produce el bloqueo.

En cuanto al servicio del agente que no figura en el administrador de configuración, existen múltiples posibilidades: https://support.microsoft.com/en-us/kb/941823

Asegúrese de estar ejecutando 2012 Configuration Manager

Puede intentar reconstruir el repositorio de WMI: https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-rebuilding-the-wmi-repository/

Stacylaray
fuente