Przez ostatni miesiąc jeden z moich serwerów miał problemy z SQL Server Agent. Zatrzymuje się automatycznie z błędem poniżej, który zdarza się losowo:
Plik wyjściowy agenta Sql
[097] Wykryto wyciek pamięci [204 bajty]
Wyjątek 5 przechwycony w linii 403 pliku e: \ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cpp. SQLServerAgent inicjuje samozakończenie
Poszukałem tego błędu, ale nie otrzymałem wiele informacji na jego temat. Zarówno SQL Server, jak i Agent działają z tym samym kontem domeny; jednak problem dotyczy tylko usługi SQL Server Agent.
Nie mogę również zobaczyć usługi SQL Server Agent w SQL Server Configuration Manager. Sprawdziłem dziennik błędów programu SQL Server i dzienniki Podglądu zdarzeń systemu Windows, ale nie zauważyłem żadnych podejrzanych działań.
Moje ustawienia pamięci są poprawnie skonfigurowane. Serwer ma 32 GB pamięci RAM, a SQL Server ma przypisaną maksymalną pamięć 26 GB.
Szczegóły systemu:
- SQL Server 2012 SP2 Std Edition 11.0.5058 64-bitowy
- Windows Server 2008 R2 Ent Edition 64 bit
- Dedykowane dla SQL Server (żadne inne aplikacje nie działają na serwerze)
- Serwer został zaktualizowany kilka miesięcy temu z SQL Server 2005 EE do 2012 SE.
- Nie korzystamy z serwera przekazywania zdarzeń .
Sprawdziłem również bazę danych msdb . Uruchomiłem checkdb i zakończyło się pomyślnie bez żadnych błędów. Potrzebuję twojej pomocy w naprawieniu dwóch rzeczy:
- Aby naprawić losowe zatrzymanie usługi agenta SQL Server
- Aby dodać usługę SQL Server Agent w SQL Server Configuration Manager
Mamy oprogramowanie innych firm do monitorowania, więc natychmiast otrzymujemy powiadomienie, jeśli usługa agenta przestanie działać. Na razie właśnie uruchamiamy ponownie usługę. Ale chcemy znaleźć podstawową przyczynę.
Uruchomiłem następujące zapytanie zasugerowane przez Seana Gallardiego i odzyskałem 95 wierszy. Nie wiem, jak interpretować wynik.
select *
from sys.dm_os_loaded_modules
where name not like '%microsoft%'
Niestety nie mogę opublikować wyników ze względów bezpieczeństwa.
Dopóki nie znajdę rozwiązania tego problemu, dodałem próby ponownej próby do agenta SQL Server, aby mógł on ponownie uruchomić się automatycznie po zatrzymaniu.