#はじめに
SQL Serverでは、最初に必ずやらねばならない3つのことがあり、これを行わず、結果としてSQL Serverのパフォーマンスを活かせていないケースが多々ある
#その1:MAX DOPの設定
- サーバプロパティの詳細設定にある「並列処理の最大限度」を設定する
- NUMA構成の場合は、NUMA内の物理コア数を設定
- 一般構成の場合は、1/4 or 1/2×物理CPU数(物理コア数)を設定
- SAPで使うときは1を設定する
- SQL Server を実行するノードすべてで行う
- 注意点
- HTを入れた論理数ではない
- NUMA構成かどうかは、詳細設定にある「プロセッサ」を見るとわかる
- よくわからないとき
- 1を設定する
- 0は無制限なので絶対にダメ
#その2:tempdbデータファイルの分割
- tempdb のデータファイルの数を物理CPU数(物理コア数)と同じにする
- SQL Server を実行するノードすべてで行う
#その3:メモリ内のページロックの権限付与
- ローカルセキュリティポリシーで、SQL Server 実行アカウントにメモリ内のページロックの権限を付与する
- ローカルポリシー → ユーザー権利の割り当て → メモリ内のページのロック
- SQL Server を実行するノードすべてで行う
- 今更SQL Server 2008 でもないのだが、SQL Server 2008 R2 Stdの場合はトレースフラグ845の付与もする