max degree of parallelism (Option)

Wenn SQL Server auf einem Computer mit mehreren Mikroprozessoren oder CPUs ausgeführt wird, wird der am besten geeignete 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. Sie können mithilfe der max degree of parallelism-Option die Anzahl der Prozessoren beschränken, die für die Ausführung paralleler Pläne verwendet werden. Um den Server für die Ermittlung des maximalen Parallelitätsgrads zu aktivieren, legen Sie diese Option auf den Standardwert 0 fest. Durch das Festlegen des maximalen Parallelitätsgrads auf 0 kann SQL Server alle verfügbaren Prozessoren bis maximal 64 Prozessoren verwenden. Legen Sie max degree of parallelism auf 1 fest, um das Generieren paralleler Pläne zu unterdrücken. Um die maximale Anzahl der Prozessoren einzuschränken, die beim Ausführen einer einzelnen Abfrage verwendet werden, legen Sie den Wert auf eine Zahl größer als 1 fest. Die Einstellung für den maximalen Parallelitätsgrad wird von der Edition von SQL Server, CPU-Typ und Betriebssystem gesteuert. Wenn ein Wert angegeben wird, 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 Wert von max degree of parallelism ignoriert.

Wert

SQL Server-Edition

1

SQL Server Express

2

SQL Server Workgroup

4

SQL Server 2008 Web

4

SQL Server 2008 Standard

32

SQL Server 2008 Enterprise, das unter x86-Betriebssystemen ausgeführt wird.

Außerkraftsetzen des Werts "max degree of parallelism"

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 von 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 von max degree of parallelism 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 deaktivieren, und zwar mithilfe des Ablaufverfolgungsflags 2528. Weitere Informationen finden Sie unter Ablaufverfolgungsflags (Transact-SQL).

HinweisHinweis

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

Einstellen der Option "max degree of parallelism"

Bei max degree of parallelism handelt es sich um eine erweiterte Option. Wenn Sie die gespeicherte Systemprozedur sp_configure verwenden, um die Einstellung zu ä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 Neustarten des MSSQLSERVER-Dienstes).

Im folgenden Beispiel wird die max degree of parallelism-Option 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 degree of parallelism in SQL Server Management Studio finden Sie unter Vorgehensweise: Konfigurieren der Anzahl der für parallele Abfragen verfügbaren Prozessoren (SQL Server Management Studio).