最大サーバーメモリを小さくしすぎたら起動しない!
システム開発をやっていて、意図的に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 からコマンドを終了させるか、ウインドウを閉じて最小構成モードを終了します。
終了後、対象のインスタンスのサービスを起動すれば通常通り使用可能となります(復旧完了)
参考
おわりに
冷や汗かいた~;;;;;;;;;;;;;;