現在オフラインです。再接続するためにインターネットの接続を待っています

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

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB: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 およびそれ以降のバージョン

1 つの NUMA ノードにサーバー未満 8 論理プロセッサ以下の論理プロセッサの数は、MAXDOP を保持します。
1 つの NUMA ノードにサーバー8 個の論理プロセッサよりMAXDOP 8 維持します。
サーバーで複数の NUMA ノード8 個未満の論理プロセッサを 1 つの NUMA ノードまたは 1 つの NUMA ノードの論理プロセッサの数の下で MAXDOP を保持します。
サーバーで複数の NUMA ノードNUMA ノードごとに 8 個の論理プロセッサよりMAXDOP 8 維持します。



並列処理の最大限度オプションのリソース ガバナーのワークロード グループの設定と同じガイドラインを使用します。

また、これらのガイドラインに記載されている 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 設定方法については、SQL Server のサポート チームのブログに、動的管理ビュー sys.dm_resource_governor_workload_groups と次のポストの情報を確認します。

サーバーの「最大の次数」の設定、リソース ガバナーの MAX_DOP MAXDOP – する 1 つは、SQL Server のクエリ ヒントを使用しますか。

製品または 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 - 最終更新日: 05/01/2015 03:41:00 - リビジョン: 4.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, Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbinfo kbmt KB2806535 KbMtja
フィードバック
/html>createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">