パフォーマンスと安定運用を左右する!SQL Serverサーバー設定と構成管理の基本を解説
SQL Serverでは、インスタンス単位で様々な設定を行うことができます。
これらの設定値は、サーバー全体の動作やパフォーマンスに大きく影響するため、
適切な管理が求められます。
この記事では、SQL Serverの構成を確認・変更するためのコマンドsp_configureの使い方と、
主要な構成オプションを実務視点でわかりやすく解説します。
目次
SQL Server構成設定の基本
構成オプションとは?
SQL Serverの構成オプションは、インスタンス単位で管理されるシステム設定です。 メモリ管理、最大接続数、エラーログ設定、並列実行など、サーバー全体の動作を制御します。
設定はデータベース単位ではなく、インスタンス全体に影響する点がポイントです。
確認・変更の方法
SQL Server Management Studio(SSMS)のGUIでも設定変更は可能ですが、
実務ではスクリプト化できる sp_configure を利用するのが一般的です。
sp_configureの使い方
現在の設定を確認する
EXEC sp_configure;
このコマンドを実行すると、現在の構成オプションと設定値が一覧表示されます。
詳細設定を有効にする
一部の高度な設定項目を表示・変更するには、show advanced options を有効にします。
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
これで詳細設定項目が表示・変更できるようになります。
設定を変更する基本構文
EXEC sp_configure 'オプション名', 新しい値;
RECONFIGURE;
変更後、RECONFIGUREを実行することで設定が即時反映されます。
主要な構成オプション一覧と意味
代表的な構成設定
| オプション名 | 設定内容 | 推奨値/備考 |
|---|---|---|
| max server memory (MB) | SQL Serverが使用できる最大メモリ量 | システム全体の70〜80%を目安に設定 |
| min server memory (MB) | 確保しておく最小メモリ量 | 安定運用時に設定検討 |
| max degree of parallelism | クエリ並列実行の最大スレッド数 | OLTP系は1〜4、OLAP系はCPU数に応じて調整 |
| cost threshold for parallelism | 並列実行に切り替えるコスト閾値 | デフォルト5→30前後に変更が多い |
| remote admin connections | 専用管理接続の許可 | リモート障害対応時に1へ |
| backup compression default | バックアップ時の圧縮を既定で有効化 | 1(有効)推奨、ディスク節約 |
確認例
EXEC sp_configure 'max server memory (MB)';
特定項目の現在値と設定値を個別に確認できます。
構成変更の手順と反映方法
基本の流れ
- 変更前に現在値を確認(sp_configure)
- 必要に応じて詳細設定を有効化
- 設定変更 →
RECONFIGURE実行 - 再起動が必要な項目は、サービス再起動で反映
再起動が必要な項目
- affinity mask(CPU割り当て)
- max worker threads
- network packet size など
変更後も即時反映されない場合は、SQL Serverサービスを再起動しましょう。
構成変更時の注意点と実務ポイント
- 本番環境では必ず事前バックアップ:変更後の動作を元に戻せるようにする
- RECONFIGURE WITH OVERRIDE:制限値を超える変更時のみ使用(慎重に)
- 監査・ログ管理:変更履歴をドキュメント化し、変更理由を明確に
- 定期的なレビュー:CPU・メモリ・IO構成に応じて最適値を見直す
設定値の永続化
sp_configureによる変更はインスタンス構成として永続化されます。
ただし、テンポラリな設定変更(セッション単位)はSET文を使用します。
まとめと次のステップ
学んだ内容の整理
sp_configureはSQL Serverの構成を確認・変更する基本コマンド。show advanced optionsで詳細項目を有効化できる。- 主要オプション(メモリ・並列処理・圧縮設定など)は定期的に確認。
- 変更時は
RECONFIGUREを忘れず実行し、必要に応じて再起動。
参考リンク

0 件のコメント:
コメントを投稿