SQL Server における 「並列処理の最大限度」構成オプションの推奨事項、およびガイドライン

文書翻訳 文書翻訳
文書番号: 2806535 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

Microsoft SQL Server の並列処理の次数を最大値(MAXDOP) の構成オプションは、並列プランでクエリの実行に使用するプロセッサの数を制御します。このオプションは、コンピューティングとスレッドが並列で実行するクエリ プランの演算子を使用するリソースを決定します。かどうか SQL Server の設定によっては、対称型マルチプロセッシング (SMP) コンピューター、一様でないメモリ アクセス (NUMA) のコンピューター、またはプロセッサのハイパー スレッドが有効なある並列処理の最大限度] オプションを適切に構成します。この資料では、 sp_configureシステム ストアド プロシージャを使用すると、SQL Server の並列処理の次数を最大オプションを構成するのに使用できる、一般的なガイドラインについて説明します。

クエリは、このオプションを指定する場合は、 OPTION (MAXDOP) Transact SQL クエリ ヒント、並列処理の最大限度オプション、sp_configureの値をオーバーライドできます。SQL Server 2000年でオーバーライド、ヒントで指定した値が未満か、 sp_configureの値と等しい場合にのみ有効になります。SQL Server 2005 以降では、オーバーライドは常に有効になります。SQL Server 2008 以降のバージョンでは、MAXDOP 値は、リソース ・ ガバナーを使用して構成されている値を超える場合、データベース エンジンが使用リソース ガバナー MAXDOP 値。並列処理の最大程度オプションで使用されるすべてのセマンティクスの規則は、MAXDOP クエリ ヒントを使用する場合に適用されます。他の 2 つのオプションをオーバーライドまたは MAXDOP 設定に影響を与えることができます次のとおりです。
  • ソフト NUMA
  • 並列インデックス

詳細

注: <b>並列処理の最大程度コンフィギュレーション オプションは、SQL Server が使用するプロセッサの数は制限されません。SQL Server が使用するプロセッサの数を構成するのには、アフィニティ マスク設定オプションに使用します。

MAXDOPvalue を構成するときに、次のガイドラインを使用します。

SQL Server 2005 およびそれ以降のバージョン

  • 8 つ以上のプロセッサを使用しているサーバーで、次の構成を使用します。
    MAXDOP = 8
  • 以下の 8 つのプロセッサを使用しているサーバーで、次の構成を使用します。
    MAXDOP = 0N

    注: <b>この構成では、N プロセッサの数をさらに。
  • NUMA のように構成されているサーバーでは、MAXDOP が各 NUMA ノードに割り当てられている Cpu の数を超えない。
  • ハイパー スレッディングが有効になっているサーバーには、MAXDOP 値を超えてはいけません物理プロセッサの数。
  • NUMA を構成し、ハイパー スレッディングが有効になっているサーバーには、MAXDOP 値を超えてはいけません NUMA ノードごとの物理プロセッサの数。
注: <b>並列処理の最大程度オプション リソース ガバナーのワークロード グループの設定と同じガイドラインを使用します。

また、これらのガイドラインに記載されている 8 の最大値は SQL Server の一般的なアクティビティと、並列クエリ プランで使用されている交換演算子のオーバーヘッドは、該当します。この最大値は、特定のアプリケーションのパターンと、SQL Server のインスタンスの並行処理に応じて変更できます。たとえば、次のような状況を考慮します。
  • 非常に少数のプロセッサの数と比較すると同時に実行しているクエリがある場合は、MAXDOP 値を大きい値に設定できます。たとえば、MAXDOP 値を 16 に設定できます。
  • 場合はするが、非常に多くのプロセッサの数と比較すると同時に実行しているクエリの MAXDOP 値を小さい値に設定できます。たとえば、MAXDOP 値 4 を設定できます。
注: <b>任意の値を使用することを徹底的にテストに対して、特定のアプリケーションのアクティビティまたはクエリのパターンを運用サーバーにその値を実装する前に。

SQL Server 2000年およびそれ以降のバージョン

SQL Server では、直列プランを使用する場合のみ 1 つのプロセッサが使用されます。ただし、SQL Server の並列処理を使用する場合、並列プランの実行によって決定される、MAXDOP クエリ ヒントの構成)、構成されているすべてのプロセッサする必要があります使用します。たとえば、MAXDOP を使用する場合は、SQL Server 7 プロセッサが効率的に 1 つだけのプロセッサを使用するシリアル プランと比較するとより多くのジョブを実行する場合でも、すべての 32 プロセッサを使用しよう、32 ウェイ サーバー上の 0 を = します。この妥協を許さないためは、MAXDOP クエリ ヒント 8 の最大値を制限しない場合は、SQL Server で、並列プランを使用する場合と SQL Server 上位サーバー上のすべてのプロセッサを調整するために必要な時間、並列プランの利点が上回る。

計画の各ステップには、MAXDOP 設定が適用されます。各手順は 1 つの CPU または MAXDOP および決してものの間で指定された Cpu の数を使用します。場合は、ステップを並列実行して、クエリで使用されるスレッドの数は、MAXDOP 設定を超える可能性があります。

MAXDOP の定義、最高レベルの並列処理オプション」は、トピックまたは SQL Server」の次数」のトピックを参照してください。

並列処理のしくみを理解するのには [SQL Server Books Online のトピック「クエリ プロセッサ アーキテクチャ」、「並列クエリ処理」セクションを参照してください。

詳細

並列クエリの詳細については、次の Microsoft Developer Network (MSDN) web サイトを参照してください。
並列処理の次数
ベスト ・ プラクティス情報の 64 を超える Cpu を搭載したコンピューターで SQL Server のインスタンスを実行しているときに、次の SQL Server Books Online のトピックを参照してください。ハイパースレッディング対応のプロセッサで実行されている SQL Server のインスタンスで、次の資料、マイクロソフト サポート技術情報の推奨事項に従ってにします。
322385 ハイパー スレッド環境での SQL Server サポート
注: <b>この推奨事項は、Intel の Nehalem ファミリなどの新しいプロセッサ チップには適用されません。

SQL Server で使用されているプロセッサの数と、SQL Server によって認識される NUMA ノードの数については、動的管理ビュー sys.dm_os_sys_info と sys.dm_os_nodes を使用してください。リソース ガバナーを使用して適用されている MAXDOP 設定に関する詳細についてを動的管理ビュー sys.dm_resource_governor_workload_groups 内の情報を確認します。

製品または SQL Server 製品のバージョンでは、SQL Server のインスタンスには、この条件を自動的に確認するツールの詳細については、次の表を参照してください。
元に戻す全体を表示する
ルールのソフトウェアルールのタイトル仕訳ルールの説明ルールが評価される対象となる製品のバージョンです。
SQL Server 2008 R2 ベスト プラクティス アナライザー (SQL Server 2008 R2 BPA)並列処理の次数が推奨値に設定されていません。SQL Server 2008 R2 ベスト プラクティス アナライザー (SQL Server 2008 R2 BPA) は、適切な並列処理の最大限度オプションの値は、NUMA ノードと MAXDOP のリソース ガバナー ワークロード構成で Cpu の数と構成されていません、これらの条件を検出するルールを提供します。SQL Server 2008 R2 BPA は、SQL Server 2008 と SQL Server 2008 R2 の両方をサポートします。

BPA ツールを実行して、「データベース エンジンが並列処理の次数に設定されていない推奨値」の警告が発生する場合は、並列処理の最大限度オプションの値および推奨値の概要」および「関連情報」セクションで指定されているリソース ガバナー ワークロード MAXDOP 値を比較します。
SQL Server 2008 SQL Server 2008 R2
SQL Server 2012 のベスト プラクティス アナライザー (SQL Server 2012 BPA)並列処理の次数が推奨値に設定されていません。SQL Server 2012年ベスト プラクティス アナライザー (SQL Server 2012 BPA) は、適切な並列処理の最大限度オプションの値は、NUMA ノードと MAXDOP のリソース ガバナー ワークロード構成で Cpu の数と構成されていません、これらの条件を検出するルールを提供します。

BPA ツールを実行して、「データベース エンジンが並列処理の次数に設定されていない推奨値」の警告が発生する場合は、並列処理の最大限度オプションの値および推奨値の概要」および「関連情報」セクションで指定されているリソース ガバナー ワークロード MAXDOP 値を比較します。
SQL Server 2012

プロパティ

文書番号: 2806535 - 最終更新日: 2014年8月23日 - リビジョン: 3.0
この資料は以下の製品について記述したものです。
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Evaluation Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
キーワード:?
kbinfo kbmt KB2806535 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:2806535
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com