Posted at

SQL Server で最初に設定すべき3つのこと

More than 3 years have passed since last update.


はじめに

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の付与もする