2022年05月04日
Tweet
いつからだったか不明ですが、 SQL Server Agent が起動しません。
ログを見た限りでは、エラーになっておらず、サービスを開始させると、起動してすぐに停止しているようです。
なぜかエラーにはなっていません。
SQL Server Management Studio からサーバーに接続し、
管理-SQL Server ログという場所があるので、それを確認してみました。
「現在」となっているところを開くと、ログの選択画面が出てきて、SQL Server エージェントという項目がありました。
しかしここにもエラーはでていませんでした。
今回の件は結構対応が難しいと思いました。だってエラー出てないんだもの。
でもAgentを利用した、バックアップなどの処理はすべて失敗していました。
サービスから SQLAgentの起動権限を変更してみました。
まずはデフォルトの Network Service アカウントからローカルシステムアカウントに変更しました。
サービスの起動終了の症状には変化がありませんでした。
しかし SQL Server Management Studio から確認できるログには変化がありました。
以下のエラーが出ていました。
[298] SQLServer エラー: 229, EXECUTE 権限がオブジェクト 'sp_sqlagent_update_agent_xps'、データベース 'msdb'、スキーマ 'dbo' で拒否されました。 [SQLSTATE 42000] (DisableAgentXPs)
このエラーが出ていたので、サービス起動時のローカルシステムアカウントでは権限がないと思われました。
再度サービスを起動するアカウントに Admin 権限を有するアカウントを設定しました。
そしてサービスを起動すると無事に起動し、停止しませんでした。またエラーログも出なくなりました。

ログを見た限りでは、エラーになっておらず、サービスを開始させると、起動してすぐに停止しているようです。
なぜかエラーにはなっていません。
SQL Server Management Studio からサーバーに接続し、
管理-SQL Server ログという場所があるので、それを確認してみました。
「現在」となっているところを開くと、ログの選択画面が出てきて、SQL Server エージェントという項目がありました。
しかしここにもエラーはでていませんでした。
今回の件は結構対応が難しいと思いました。だってエラー出てないんだもの。
でもAgentを利用した、バックアップなどの処理はすべて失敗していました。
サービスから SQLAgentの起動権限を変更してみました。
まずはデフォルトの Network Service アカウントからローカルシステムアカウントに変更しました。
サービスの起動終了の症状には変化がありませんでした。
しかし SQL Server Management Studio から確認できるログには変化がありました。
以下のエラーが出ていました。
[298] SQLServer エラー: 229, EXECUTE 権限がオブジェクト 'sp_sqlagent_update_agent_xps'、データベース 'msdb'、スキーマ 'dbo' で拒否されました。 [SQLSTATE 42000] (DisableAgentXPs)
このエラーが出ていたので、サービス起動時のローカルシステムアカウントでは権限がないと思われました。
再度サービスを起動するアカウントに Admin 権限を有するアカウントを設定しました。
そしてサービスを起動すると無事に起動し、停止しませんでした。またエラーログも出なくなりました。
stock_value at 16:51│Comments(0)│技術