SSブログ

max server memory の最小値と起動できない状態からの復旧 [SQL Server]

SQL Serverの利用するバッファプールの大きさを指定する際には
max server memoryという設定値を変更します。



sp_configre 'max server memory',<指定したいサイズ(MB)>
go
reconfigure
go


とクエリ画面から実行することで変更可能です。
SQL Server 2008R2までは最小値は32MBでしたが、2012以降は128MBに変更されています。

https://technet.microsoft.com/ja-jp/library/ms178067%28v=sql.110%29.aspx?f=255&MSPPError=-2147217396

こちらの注意書きには

max server memory を最小値に設定すると、SQL Server のパフォーマンスが極端に悪化し、場合によっては起動できなくなります。 このオプションの変更後に SQL Server を起動できなくなった場合は、–f 起動オプションを使用して起動し、max server memory を元の値に戻します。 詳細については、「データベース エンジン サービスのスタートアップ オプション」を参照してください。

と記載があります。
テストのため極端にメモリサイズを小さくすることがあるのですが、接続できないといった症状になることもあります。

記載のある復旧方法は私の場合は以下の通りです。

0. 現存プロセスをタスクマネージャから強制終了
1. コマンドプロンプト立ち上げ
2. SQL Serverの実行バイナリの入っているディレクトリに移動。分からなければsqlservr.exeで検索
3. sqlservr.exe -c -fでコマンドラインから起動
4. 別のコマンドプロンプトを立ち上げてsqlcmd -Eで接続
5. 先ほどのsp_configureを使って充分なメモリ量を指定する
6. 1で作ったコマンドプロンプトにCTRL+Cを入力
7. 通常通りConfiguratio ManagerからSQL Serverを起動

とします。
2016のテストをしている際にこの状態に陥ったので参考までに。。。

スポンサードリンク




nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:仕事

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:[必須]
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。