SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう

SQL Serverのサービスが、Windowsの再起動のタイミングで止まってしまう現象について紹介します。

現象

今まで利用できていたSQL Serverに接続できなくなります。
早朝に気づくことが多いため、SQL Serverのマシンのリブートで発生する可能性が高そうです。

SQL Server Configuration Manager を起動し、サービスの稼働状態を確認すると、SQL SeverとSQL Server エージェント が停止していることがわかります。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像1

暫定対処

SQL Serverのサービスを開始すると利用できる状態になります。SQL Server Configuration Manager でSQL Serverのサービスをクリックして選択し、右クリックします。 下図のポップアップメニューが表示されますので[開始]の項目をクリックします。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像2

SQL Server と SQL Server エージェントのサービスを起動します。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像3

調査

イベントビューアーでSQL Serverのログを調査します。[システム]のログに、次のログが記録されています。

エラーログの内容
Service Control Manager
MSSQLSERVER サービスの接続を待機中にタイムアウト (30000 ミリ秒) になりました。

SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像4

エラーログの内容
Service Control Manager
MSSQLSERVER サービスを、次のエラーが原因で開始できませんでした:
そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。

SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像5

エラーログの内容
Service Control Manager
SQLSERVERAGENT サービスは、次のエラーが原因で開始できなかった MSSQLSERVER サービスに依存しています:
そのサービスは指定時間内に開始要求または制御要求に応答しませんでした。

SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像6

起動に時間がかかりすぎてタイムアウトしているように見られます。

対処法1:マシンのスペックアップ

マシンの再起動時に高負荷状態が長く続くことで、上記のエラーが発生するため、マシンのスペックアップを検討します。
後述の方法でも対処できますが、根本的にはマシンを更新するのが良いのではないかと考えられます。

対処法2:サービスを遅延起動する

サービスを遅延起動することで、高負荷状態のときにサービスを起動しないように設定できます。

[コンピューターの管理]を起動し、左側の[サービスとアプリケーション]ノード内の[サービス]ノードをクリックして選択します。 下図の画面が表示されます。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像7

右側のエリアから "SQL Server" のサービスの項目を探しクリックして選択します。選択状態で右クリックしポップアップメニューを表示します。 メニューの[プロパティ]の項目をクリックします。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像8

プロパティダイアログが表示されます。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像9

[スタートアップの種類]の項目のコンボボックスをクリックして開きます。ドロップダウンリストが表示されますので、 [自動 (遅延開始)]の項目をクリックして選択します。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像10

[スタートアップの種類]を"自動 (遅延開始)"に設定できました。ダイアログの[OK]ボタンをクリックしてダイアログを閉じます。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像11

[SQL Server]のサービスのスタートアップの種類が "自動 (遅延開始)"に変更できました。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像12

同じ手順で、[SQL Server エージェント]のサービスも "自動 (遅延開始)" にスタートアップの種類を変更します。
SQL Serverのサービスが、サーバーマシンの再起動のタイミングで止まってしまう:画像13

マシンをリブートして、SQL Serverが問題なく起動することを確認します。 また、しばらく継続して利用し、SQL Serverが起動しない状態にならないことを確認します。

AuthorPortraitAlt
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
作成日: 2021-08-11
Copyright © 1995–2025 iPentec all rights reserverd.