max degree of parallelism (Option)

Wenn SQL Server auf einem Computer mit mehreren Mikroprozessoren oder CPUs ausgeführt wird, wird der optimale Grad an Parallelität erkannt, also die Anzahl an Prozessoren, die für die Ausführung einer einzigen Anweisung eingesetzt werden. Dies gilt für die einzelnen Ausführungen paralleler Pläne. Mithilfe der Option max degree of parallelism kann die Anzahl der Prozessoren beschränkt werden, die bei der Ausführung paralleler Pläne verwendet werden. Beim Standardwert von 0 werden alle verfügbaren Prozessoren bis maximal 64 CPUs verwendet. Legen Sie max degree of parallelism auf 1 fest, damit keine parallelen Pläne generiert werden. Der Wert sollte auf eine Zahl größer als 1 (64 ist der Höchstwert) festgelegt werden, um die maximale Anzahl von Prozessoren einzuschränken, die beim Ausführen einer einzelnen Abfrage verwendet werden. Wird ein Wert angegeben, der über der Anzahl der verfügbaren Prozessoren liegt, wird die tatsächliche Anzahl der Prozessoren verwendet. Verfügt der Computer nur über einen Prozessor, wird der Max. Grad an Parallelität-Wert ignoriert.

Außerkraftsetzen von Max. Grad an Parallelität

SQL Server zieht die Ausführung paralleler Pläne für Abfragen, DDL-Indizierungsoperationen (Datendefinitionssprache, Data Definition Language) sowie die statische und keysetgesteuerte Cursorauffüllung in Betracht. Weitere Informationen zur parallelen Ausführung finden Sie unter Grad der Parallelität.

In Abfragen kann der Wert max degree of parallelism außer Kraft gesetzt werden; geben Sie hierzu den Abfragehinweis MAXDOP in der Abfrageanweisung an. Weitere Informationen finden Sie unter Abfragehinweise (Transact-SQL).

Indizierungsoperationen, bei denen ein Index erstellt oder neu aufgebaut wird bzw. an deren Ende ein gruppierter Index steht, können ressourcenintensiv sein. In Indizierungsoperationen kann der Wert Max. Grad an Parallelität außer Kraft gesetzt werden; geben Sie hierzu die Indexoption MAXDOP in der Indexanweisung an. Der Wert MAXDOP wird zur Ausführungszeit auf die Anweisung angewendet und wird nicht in den Metadaten für den Index gespeichert. Weitere Informationen finden Sie unter Konfigurieren von Parallelindexvorgänge.

Neben Abfragen und Indexoperationen steuert diese Option auch die Parallelität von DBCC CHECKTABLE, DBCC CHECKDB und DBCC CHECKFILEGROUP. Sie können Pläne für die parallele Ausführung für diese Anweisungen mithilfe des Ablaufverfolgungsflags 2528 deaktivieren. Weitere Informationen finden Sie unter Ablaufverfolgungsflags (Transact-SQL).

HinweisHinweis

Wenn die Option affinity mask nicht auf den Standardwert festgelegt ist, steht auf Systemen mit symmetrischem Multiprocessing (SMP) möglicherweise nur eine beschränkte Anzahl an Prozessoren für SQL Server zur Verfügung.

Einstellen der Option Max. Grad an Parallelität

Bei max degree of parallelism handelt es sich um eine erweiterte Option. Wenn Sie die Einstellung mithilfe der gespeicherten Systemprozedur sp_configure ändern, können Sie max degree of parallelism nur ändern, wenn show advanced options auf 1 festgelegt ist. Die Einstellung tritt sofort in Kraft (ohne Neustart des MSSQLSERVER-Diensts).

Im nachfolgenden Beispiel wird die Option Max. Grad an Parallelität auf 8 festgelegt.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 8;
GO
RECONFIGURE WITH OVERRIDE;
GO

Weitere Informationen zum Festlegen des Werts Max. Grad an Parallelität in SQL Server Management Studio finden Sie unter Vorgehensweise: Konfigurieren der Anzahl der für parallele Abfragen verfügbaren Prozessoren (SQL Server Management Studio).