以前、SQL Server 2016をインストールしていきました。
今回は、その後の設定をしていきたいと思います。
また、SQL Serverを操作する上で必要なManagement Studioを以下のMicrosoftのページからダウンロードしてインストールしておきましょう。
https://docs.microsoft.com/ja-jp/sql/ssms/download-sql-server-management-studio-ssms
SQL Server 2016でも2017版で操作できます。
事細かに設定はしませんので、今回は基本的な設定値について変更していきたいと思います。
SQL Serverの最大メモリ使用量を変更
まずはSQL Serverのメモリの最大使用量を変更していきます。
また、商用のSQL ServerはManagement Studioから実施できますが、Internel Serverなど無償版はプロパティが開けない事があるので両方記載します。
ちなみに以下を参照するとSQL Serverでメモリ設定をしないと無制限にメモリを食いつぶす事が分かるので、本番環境でメモリの設定は必須と言えます。
https://support.microsoft.com/ja-jp/help/321363/how-to-adjust-memory-usage-by-using-configuration-options-in-sql-serve
Management Studioから操作
Management Studioを起動してサーバ名を右クリックし【プロパティ】を選択します。
プロパティの画面が開いたら右のリストから【メモリ】を選択し、赤枠に最小値と最大値を入力して保存すれば終了です。
コマンドラインから変更
Management StudioのSQLフォームから実行する場合は以下の画面になります。
【新しいクエリ】をクリックしてSQLフォームを開きます。
またコマンドプロンプトの場合は、管理者権限でコマンドプロンプトを起動して以下の通りコマンドでデータベースに接続します。
> sqlcmd -S 127.0.0.1
次にまずは設定変更をするために拡張オプションを有効化します。(デフォルト0)
これをしないと”○○~が存在しないか、詳細構成オプションの可能性があります。”というエラーが表示視されます。
EXEC sp_configure ‘show advanced options’, 1; RECONFIGURE; GO
次にメモリの最大使用量を変更します。
> exec sp_configure 'max server memory',4096 > go
次にメモリの最小使用量を変更します。
> exec sp_configure 'min server memory',4096 > go
最後に設定を保存します。
> reconfigure > go
これで作業は完了です。
注意点
SQL Server ではメモリの最大使用量を設定してもバッファプールしか割り当てられないようです。
そのため、サーバープロセスなどは別途OSのメモリを消費するので、特にIISなどと同居するときは適切な設定値で設計する必要があります。
タイムアウトの無効化
以下の情報で簡単に設定が可能です。
https://technet.microsoft.com/ja-jp/library/ms189040(v=sql.110).aspx
実際に設定していきたいと思います。
EXEC sp_configure 'remote query timeout', 0 ; GO RECONFIGURE ; GO
実際に実行してみると、上記サイトで必要な” USE AdventureWorks2012 ;” については以下のエラーで失敗しました。
3> USE AdventureWorks2012 ; 4> GO メッセージ 911、レベル 16、状態 1、サーバー WIN2016_SQL、行 3 データベース 'AdventureWorks2012' が存在しません。名前が正しく入力されていることを確認してください。
設定としては不要かと思います。
SQL Serverの個別設定について一旦ここで一区切りしたいと思います。