先月、私のサーバーの1つでSQL Serverエージェントの問題が発生しています。ランダムに発生する以下のエラーで自動的に停止します。
SQLエージェント出力ファイル
[097]メモリリークが検出されました[204バイト]
例外5がファイルe:\ sql9_sp2_t \ sql \ komodo \ src \ core \ sqlagent \ src \ alerter.cppの行403でキャッチされました。自己終了を開始するSQLServerAgent
私はこのエラーをググりましたが、それについて多くの情報を得ませんでした。SQL Serverとエージェントの両方が同じドメインアカウントで実行されています。ただし、問題はSQL Serverエージェントサービスでのみ発生します。
SQL Server構成マネージャーでSQL Serverエージェントサービスを表示することもできません。SQL ServerのエラーログとWindowsイベントビューアのログを確認しましたが、不審なアクティビティは確認されませんでした。
私のメモリ設定は正しく構成されています。サーバーには32GBのRAMがあり、SQL Serverは26GBの最大メモリを使用するように割り当てられています。
システムの詳細:
- SQL Server 2012 SP2 Std Edition 11.0.5058 64ビット
- Windows Server 2008 R2 Ent Edition 64ビット
- SQL Server専用(サーバー上で他のアプリは実行されません)
- サーバーは数か月前にSQL Server 2005 EEから2012 SEにアップグレードされました。
- イベント転送サーバーは使用していません。
msdbデータベースも確認しました。その上でcheckdbを実行し、エラーなしで正常に完了しました。2つのことを修正するためにあなたの助けが必要です:
- SQL Serverエージェントサービスのランダムな停止を修正するには
- SQL Server構成マネージャーでSQL Serverエージェントサービスを追加するには
監視用のサードパーティソフトウェアがあるため、エージェントサービスが停止するとすぐに通知されます。とりあえず、サービスを再起動しています。しかし、根本的な原因を見つけたいのです。
Sean Gallardyによって提案された次のクエリを実行し、95行を返しました。結果の解釈方法がわかりません。
select *
from sys.dm_os_loaded_modules
where name not like '%microsoft%'
残念ながら、セキュリティ上の理由で結果を掲載することはできません。
この問題の解決策が見つかるまで、SQL Serverエージェントに再試行を追加して、停止時に自動的に再起動できるようにしました。