アーカイブ

【SQL Server】最大メモリを小さくしすぎると起動しなくなる!起動しなくなった場合の復旧方法

SQL Serverの最大メモリを小さく設定しすぎて起動できなくなった場合の復旧方法

目次
  1. 最大サーバーメモリを小さくしすぎたら起動しない!
  2. 解決策
    1. 最小構成で起動する
  3. 参考
  4. おわりに

最大サーバーメモリを小さくしすぎたら起動しない!

システム開発をやっていて、意図的にSQLに時間がかかるパターンを試したいなぁと思い、じゃあメモリ上限減らせばいいか…と浅はかな考えで行動してしまったのが運のつき。

上記変更後、対象のインスタンスが一生起動しなくなってしまいました!!

解決策

最小構成で起動する

この問題を解決するには、SQL Server のインスタンスを最小構成で起動し、Management Studio からメモリの設定を元に戻します。

①コマンドプロンプトを管理者として起動

スタートメニューなどからコマンドプロンプトを管理者として起動します。

  • スタートメニュー「Windows システム ツール」→「コマンドプロンプト」を右クリックし、「その他」→「管理者として実行」
  • タスクバー ここに入力して検索 から”cmd”で検索 → 「コマンドプロンプト」を右クリックし、「管理者として実行」

など

②起動オプション -f でSQL Server のインスタンスを最小構成で起動

対象のインスタンスがインストールされたフォルダの sqlservr.exe を -f オプション付きで起動させます。

cd C:\Program Files\Microsoft SQL Server\MSSQL15.TEST\MSSQL\Binn
sqlservr -f -s TEST

※1行目「MSSQL15.TEST」、2行目「TEST」部分は環境により異なりますので、ご自身の環境に合わせてください。

注意点

コマンドプロンプトを管理者として実行していないとエラーになるので注意。

また、複数インスタンスがインストールされているコンピュータでは、-s オプションでインスタンスを指定しないとエラーになります。

③Management Studioで最大メモリ設定を元に戻す

Management Studioを起動し、通常通りインスタンスに接続します。

接続後、最大メモリ設定に十分大きい値を設定してあげます。

接続できない時は

起動オプション -f では、シングルユーザーモードになります。対象のインスタンスに接続するアプリケーションやサービスが起動していると、Management Studioで接続できない場合があるので、事前に終了させておきましょう。

④最小構成モードを終了

②のコマンドプロンプトでCtrl + c からコマンドを終了させるか、ウインドウを閉じて最小構成モードを終了します。

終了後、対象のインスタンスのサービスを起動すれば通常通り使用可能となります(復旧完了)

参考

サーバー メモリの構成オプション – SQL Server | Microsoft Docs

最小構成での SQL Server の起動 – SQL Server | Microsoft Docs

おわりに

冷や汗かいた~;;;;;;;;;;;;;;

プロフィール
筆者:UMAイカ

IT企業に勤務しています。当ブログは、うダツの上がらないサラリーマンがよりよい人生を目指して購入した商品のレビューや、仕事の備忘、生活の知恵を発信します。

アーカイブ