web-dev-qa-db-ja.com

MaxDOPがSQL Server 2016 Standardを制限する

2つのノードに40の論理プロセッサを備えたSQL 2016 Standard Editionインスタンスがあります。 (2x20 = 40)

あたり SQL Serverの "max degree of parallelism"構成オプションの推奨事項とガイドライン MaxDOPを8に設定したい

NUMAノードあたり8を超える論理プロセッサMAXDOPを8に維持

[〜#〜] but [〜#〜]per max degree of parallelism Option 設定できるのは4だけですが、それは2008年にも当てはまるようで、私は2016年にいます

並列度設定の最大値は、SQL Serverのエディションによって制御されます。

実際には、8に変更しましたが、SQLは文句を言わず、値は8のままでした。調査を続ける間、値を0に戻しました。

私の懸念は、8に設定した場合、実際には4に設定している可能性があることです。変更を加える前に、8 = 8であることを知りたいのです。エディションベースです。

SQL 2016+ EditionのMaxDOP制限はベースですか?

[〜#〜] edit [〜#〜]現在、ソフトNUMAは起動時に4ノードに設定されています。まだ学習していますが、私が正しく理解していれば、これは、1つのステートメント(クエリ)に適用できるロジックプロセッサが10個の単一ノードが最も多いことを意味します。 、解決すべき既存の問題はありません。

EDIT2ノードは並列処理を制限しません

複数のノードにスレッドを配置します。これは、SQL Serverによって行われる最も一般的な決定です。この決定により、必要に応じてワーカーが複数のノードに分散されます。開始位置が保存された次のノードのグローバル列挙子に基づいていることを除いて、デザインは完全に似ています。 ソース

3
James Jenkins

SQL Server 2016 Enterprise Editionでは、maxdopを64までの任意の値に設定できます。ただし、SQL Server 2016 Standard Editionでは、並列処理に関する制限があります このドキュメントページ

  • 分割テーブルの並列処理はサポートされていません。
  • Standard EditionはNUMA対応ではなく、ラージページメモリおよびバッファーアレイの割り当てをサポートしていません
  • インデックス作成のプロセス並列度(DOP)は、Standard Editionでは2 DOPに制限されています
  • 4ソケットまたは24コアの小さい方に限定
3
Max Vernon