Agente SQL Server che avvia l'auto-terminazione


9

Nell'ultimo mese, uno dei miei server ha riscontrato problemi con SQL Server Agent. Si interrompe automaticamente con l'errore seguente, che si verifica in modo casuale:

File di output agente SQL
[097] Rilevata perdita di memoria [204 byte]
Eccezione 5 rilevata alla riga 403 del file e: \ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cpp. SQLServerAgent che avvia l'auto-terminazione

Ho cercato su Google questo errore ma non ho ricevuto molte informazioni al riguardo. Sia SQL Server che Agent sono in esecuzione con lo stesso account di dominio; tuttavia, il problema riguarda solo il servizio SQL Server Agent.

Inoltre, non riesco a visualizzare il servizio Agente SQL Server in Gestione configurazione SQL Server. Ho controllato il registro degli errori di SQL Server e i registri del Visualizzatore eventi di Windows, ma non ho visto attività sospette.

Le mie impostazioni di memoria sono configurate correttamente. Il server ha 32 GB di RAM e SQL Server è assegnato per utilizzare una memoria massima di 26 GB.

Dettagli del sistema:

  • SQL Server 2012 SP2 Std Edition 11.0.5058 64 bit
  • Windows Server 2008 R2 Ent Edition 64 bit
  • Dedicato a SQL Server (nessuna altra app viene eseguita sul server)
  • Il server è stato aggiornato alcuni mesi fa da SQL Server 2005 EE a 2012 SE.
  • Non stiamo utilizzando un server di inoltro eventi .

Ho controllato anche il database msdb . Ha eseguito il checkdb su di esso ed è stato completato correttamente senza errori. Ho bisogno del tuo aiuto per risolvere due cose:

  1. Per correggere l'arresto casuale del servizio Agente SQL Server
  2. Per aggiungere il servizio SQL Server Agent in Gestione configurazione SQL Server

Disponiamo di software di terze parti per il monitoraggio, quindi riceviamo immediatamente una notifica in caso di interruzione del servizio agente. Per ora stiamo solo riavviando il servizio. Ma vogliamo trovare la causa principale.

Ho eseguito la seguente query suggerita da Sean Gallardy e ho recuperato 95 righe. Non so come interpretare il risultato.

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

Purtroppo non posso pubblicare i risultati per motivi di sicurezza.

Fino a quando non trovo la soluzione a questo problema, ho aggiunto i tentativi di riprovare a SQL Server Agent in modo che possa riavviarsi automaticamente quando viene arrestato.


Quando l'agente viene ucciso, riesci ad accedere al server e controllare l'utilizzo del file di paging? Ci sono elementi di Connect su questo causati dall'esaurimento del file di paging da varie app (incluso HyperBac).
Cody Konior,

Lo verificherò quando succederà di nuovo.
SQLPRODDBA,

Quando è stato eseguito l'aggiornamento da SQL Server 2005 EE a SQL Server 2012 SE, è stato eseguito un aggiornamento sul posto? O hai fatto una puntata completamente nuova di SQL Server? Chiedo perché all'inizio degli anni 2000 ho riscontrato un paio di errori con aggiornamenti sul posto che sono stati risolti eliminando completamente la cartella e reinstallando SQL Server in una cartella vuota. (Sì, è stato un fastidio.)
RLF

Risposte:


1

Da quando è stato recentemente aggiornato alcuni mesi fa da SQL Server 2005 EE a 2012 SE, è necessario salvare e cancellare i registri degli eventi perché SqlAgent potrebbe bloccarsi quando vede gli ID del registro eventi da una build precedente di SQL Server. Ad esempio, l'agente potrebbe arrestarsi in modo anomalo perché legge un evento registrato da una build di SQL Server precedente alla build corrente, che contiene solo dati con UNA stringa di inserimento e l'agente proverà a formattarlo utilizzando le ultime informazioni sulle risorse che richiedono DUE stringhe. Ciò porterebbe a una breve perdita di memoria appena prima che si spenga poiché viene allocato un buffer per la stringa in cui sta tentando di stampare quando si verifica l'arresto anomalo.

Per quanto riguarda il servizio agente non elencato in Configuration Manager, esistono diverse possibilità: https://support.microsoft.com/en-us/kb/941823

Assicurati di eseguire Configuration Manager 2012

Puoi provare a ricostruire il repository WMI: https://blogs.technet.microsoft.com/askperf/2009/04/13/wmi-rebuilding-the-wmi-repository/

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.