Empfehlungen und Richtlinien für die Konfigurationsoption "max Degree of Parallelism" in SQL Server

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 2806535 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Der Microsoft SQL Server max Degree of parallelism Konfigurationsdatei-Option (MAXDOP) steuert die Anzahl der Prozessoren, die für die Ausführung einer Abfrage ein paralleler Plan verwendet werden. Diese Option bestimmt die Datenverarbeitung und Thread-Ressourcen, die für die Operatoren für die Abfrage-Plan verwendet werden, die die Arbeit parallel auszuführen. Je nachdem, ob SQL Server auf einen Computer symmetrisches Multiprocessing (SMP), einem non-Uniform Memory Access (NUMA) Computer oder Prozessoren mit Hyperthreading aktiviert eingerichtet ist, müssen Sie konfigurieren die max Degree of parallelism die Option entsprechend. Dieser Artikel beschreibt die allgemeinen Richtlinien, die Sie verwenden können, so konfigurieren Sie die max Degree of parallelism Option für SQL Server bei Verwendung das Sp_configure -System gespeicherten Prozedur.

Die OPTION (MAXDOP) Transact-SQL-Abfrage-Hints überschreiben können die max Degree of parallelismOption in der die Sp_configure -Wert, wenn die Abfrage auf diese Option gibt. In SQL Server 2000 wird die Überschreibung wirksam nur, wenn der Wert, der im Hinweis angegeben ist kleiner als oder gleich dem Wert der Sp_configure ist. In SQL Server 2005 und höheren Versionen wird die Überschreibung immer wirksam. Wenn der MAXDOP-Wert den Wert übersteigt, der mithilfe der Ressourcenkontrolle konfiguriert wurde, verwendet das Datenbankmodul in SQL Server 2008 und späteren Versionen den Ressourcenkontrolle MAXDOP-Wert. Alle semantischen Regeln, mit denen, die max Degree of parallelismOption gelten bei Verwendung des Abfragehinweises MAXDOP zur Verfügung. Die beiden anderen Optionen, die außer Kraft setzen oder die MAXDOP-Einstellung beeinflussen können sind wie folgt:
  • Weiche NUMA
  • Parallele index

Weitere Informationen

Hinweis Die max Degree of parallelism Konfigurationsdatei-Option hat keine Beschränkung der Anzahl der Prozessoren, die SQL Server verwendet. Die Anzahl der Prozessoren konfigurieren, verwendet SQL Server, die Affinity mask Konfigurationsoption.

Verwenden Sie die folgenden Richtlinien beim Konfigurieren des MAXDOP-Wert.

SQL Server 2005 und höheren Versionen

  • Verwenden Sie bei Servern, die mehr als acht Prozessoren verwenden die folgende Konfiguration:
    MAXDOP = 8
  • Verwenden Sie für Server, die acht oder weniger Prozessoren verwenden die folgende Konfiguration:
    MAXDOP = 0 toN

    Hinweis In dieser KonfigurationN Stellt die Anzahl der Prozessoren.
  • Für Server, die NUMA konfiguriert haben, sollten MAXDOP nicht die Anzahl der CPUs überschreiten, die jeden NUMA-Knoten zugewiesen sind.
  • Für Server, die Hyperthreading aktiviert haben, sollten der MAXDOP-Wert die Anzahl der physischen Prozessoren nicht überschreiten.
  • Bei Servern mit NUMA konfiguriert und aktiviertem Hyperthreading MAXDOP-Wert nicht überschreiten sollten Anzahl der physischen Prozessoren pro NUMA-Knoten.
Hinweis Verwenden Sie dieselben Richtlinien beim Festlegen der max Degree of parallelismOption für Arbeitsauslastungsgruppen Resource Governor.

Darüber hinaus kann der maximale Wert von 8, der in diesen Leitlinien erwähnt wird für typische SQL Server-Aktivität und den Aufwand für die Exchange-Operatoren, die in parallelen Abfrageplänen verwendet werden. Sie können diesen Maximalwert abhängig von Ihrer spezifischen Anwendungsmuster und die gleichzeitige Aktivität auf der Instanz von SQL Server variieren. Betrachten Sie beispielsweise die folgenden Situationen:
  • Haben Sie sehr kleine Anzahl von Abfragen, die im Vergleich zur Anzahl der Prozessoren gleichzeitig ausgeführt werden, können Sie den MAXDOP-Wert auf einen höheren Wert festlegen. Sie können z. B. den MAXDOP-Wert auf 16 festgelegt.
  • Wenn Sie eine sehr große Anzahl von Abfragen, die im Vergleich zur Anzahl der Prozessoren gleichzeitig ausgeführt werden, können Sie den MAXDOP-Wert auf einen niedrigeren Wert festlegen. Sie können z. B. den MAXDOP-Wert auf 4 festlegen.
Hinweis Alle Werte, die Sie erwägen, sollten gründlich getestet werden, gegen die Aktivitäten der bestimmten Anwendung oder das Muster von Abfragen, bevor Sie diesen Wert auf einem Produktionsserver implementieren.

SQL Server 2000 und höhere Versionen

Wenn SQL Server einen seriellen Plan verwendet wird, wird es nur einen Prozessor verwenden. Wenn SQL Server Parallelität verwendet, müssen sie alle konfigurierten Prozessoren (gemäß der Konfiguration der MAXDOP Abfrage Hinweis) für die Ausführung paralleler Pläne verwenden. Z. B. Wenn Sie MAXDOP = 0 auf einem 32-Wege-Server, SQL Server versucht, alle 32 Prozessoren zu verwenden, auch wenn 7 Prozessoren möglicherweise Ausführen des Auftrags mehr effizient im Vergleich mit einem seriellen Plan, der nur einen Prozessor verwendet. Aufgrund dieses Verhaltens nichts überwiegen Wenn SQL Server den parallelen Plan verwendet, und wenn Sie nicht den MAXDOP-Abfragehinweis auf einen Höchstwert von 8, beschränken die Zeit, die von SQL Server erforderlich ist, alle Prozessoren auf einem High-End-Server koordiniert die Vorteile der Verwendung eines parallelen Plans.

Die MAXDOP-Einstellung gilt für jeden Schritt des Plans. Eine CPU oder die Anzahl der CPUs, die durch MAXDOP und niemals irgendetwas dazwischen angegeben wird, wird jeder Schritt verwenden. Wenn Schritte parallel ausgeführt, kann die Anzahl der Threads, die von der Abfrage verwendet werden, die MAXDOP-Einstellung überschreiten.

Die Definition der MAXDOP finden Sie im Thema "Max. Grad der Parallelität Option" oder dem Thema "Degree of Parallelism" in SQL Server.

Zum Verständnis der Funktionsweise von Parallelität finden Sie im Abschnitt "Parallele Abfrageverarbeitung" unter dem Thema "Abfrage-Prozessor-Architektur" in der SQL Server-Onlinedokumentation.

Weitere Informationen

Weitere Informationen zu parallelen Abfragen finden Sie auf der folgenden Microsoft Developer Network (MSDN)-Website:
Grad der Parallelität
Wenn Sie eine Instanz von SQL Server auf Computern, die mehr als 64 CPUs verfügen ausgeführt werden, finden Sie best Practices-Informationen des folgenden SQL Server-Onlinedokumentation Themas:
Best Practices für die Ausführung von SQL Server auf Computern mit mehr als 64 CPUs
Für Instanzen von SQL Server, die auf Hyper-Threading-fähigen Prozessoren ausgeführt werden folgen Sie den Empfehlungen im folgenden Artikel der Microsoft Knowledge Base:
322385 SQL Server-Unterstützung in einer Umgebung mit hyper-Threading
Hinweis Diese Empfehlung gilt möglicherweise nicht auf neuere Prozessorchips wie jene in der Intel Nehalem-Familie.

Informationen über die Anzahl der Prozessoren, die von SQL Server verwendet werden und die Anzahl der NUMA-Knoten, die von SQL Server erkannt werden, verwenden Sie die Dynamic Management Views dm_os_sys_info und dm_os_nodes. Weitere Informationen über die MAXDOP-Einstellung, die mithilfe der Ressourcenkontrolle erzwungen wird, überprüfen Sie die Informationen in der Dynamic Management View dm_resource_governor_workload_groups.

Weitere Informationen zu den Produkten und Tools, die automatisch prüfen, ob diese Bedingung auf die Instanz von SQL Server und auf die Versionen des SQL Server-Produkts finden Sie in der folgende Tabelle:
Tabelle minimierenTabelle vergrößern
Regel-softwareRegel-TitelRegelbeschreibungProduktversionen, die für die die Regel ausgewertet wird
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Grad der Parallelität ist nicht auf empfohlene Wert festgelegt.Die SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) stellt eine Regel erkennen diese Bereitstellungsbedingungen, bei denen der entsprechende Wert für die max Degree of parallelismOption ist nicht zusammen mit der Anzahl der CPUs in einem NUMA-Knoten und auch die Konfiguration der Ressourcenkontrolle Arbeitsauslastung für MAXDOP konfiguriert. SQL Server 2008 R2 BPA unterstützt SQL Server 2008 und SQL Server 2008 R2.

Wenn Sie das BPA-Tool ausführen und eine Warnung "Datenbank-Engine - ist Grad an Parallelität nicht empfohlenen Wert festgelegt" auftreten, vergleichen Sie diemax Degree of parallelismOptionswert und der Ressourcenkontrolle Arbeitsauslastung MAXDOP-Wert mit den empfohlenen Werten, die in den Abschnitten "Zusammenfassung" und "Weitere Informationen" angegeben werden.
SQL Server 2008, SQL Server 2008 R2
SQL Server 2012 Best Practice Analyzer (BPA für SQL Server 2012)Grad der Parallelität ist nicht auf empfohlene Wert festgelegt.SQL Server 2012 Best Practice Analyzer (BPA für SQL Server 2012) stellt eine Regel erkennen diese Bereitstellungsbedingungen, bei denen der entsprechende Wert für max Degree of parallelismOption ist nicht zusammen mit der Anzahl der CPUs in einem NUMA-Knoten und auch die Konfiguration der Ressourcenkontrolle Arbeitsauslastung für MAXDOP konfiguriert.

Wenn Sie das BPA-Tool ausführen und eine Warnung "Datenbank-Engine - ist Grad an Parallelität nicht empfohlenen Wert festgelegt" auftreten, vergleichen Sie diemax Degree of parallelismOptionswert und der Ressourcenkontrolle Arbeitsauslastung MAXDOP-Wert mit den empfohlenen Werten, die in den Abschnitten "Zusammenfassung" und "Weitere Informationen" angegeben werden.
SQL Server 2012

Eigenschaften

Artikel-ID: 2806535 - Geändert am: Mittwoch, 6. Februar 2013 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbinfo kbmt KB2806535 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 2806535
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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