Konfigurieren der Serverkonfigurationsoption Max. Grad an ParallelitätConfigure the max degree of parallelism Server Configuration Option

GILT FÜR: jaSQL Server neinAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data WarehouseAPPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

In diesem Thema wird beschrieben, wie die Serverkonfigurationsoption Max. Grad an Parallelität (MAXDOP) in SQL Server 2017SQL Server 2017 mithilfe von SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLkonfiguriert wird.This topic describes how to configure the max degree of parallelism (MAXDOP) server configuration option in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Wenn eine Instanz von SQL ServerSQL 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.When an instance of SQL ServerSQL Server runs on a computer that has more than one microprocessor or CPU, it detects the best degree of parallelism, that is, the number of processors employed to run a single statement, for each parallel plan execution. Mithilfe der Option Max. Grad an Parallelität kann die Anzahl der Prozessoren beschränkt werden, die bei der Ausführung paralleler Pläne verwendet werden.You can use the max degree of parallelism option to limit the number of processors to use in parallel plan execution. SQL ServerSQL Server berücksichtigt die Ausführung paralleler Pläne für Abfragen, DDL-Indizierungsoperationen (Datendefinitionssprache, Data Definition Language, DDL), parallele Einfügevorgänge, Onlineausführung von ALTER COLUMN, parallele Sammlung von Statistiken sowie die statische und keysetgesteuerte Cursorauffüllung.considers parallel execution plans for queries, index data definition language (DDL) operations, parallel insert, online alter column, parallel stats collection, and static and keyset-driven cursor population.

VorbereitungenBefore You Begin

EinschränkungenLimitations and Restrictions

  • Wenn die Option Affinity Mask nicht auf den Standardwert festgelegt ist, steht SQL ServerSQL Server auf Systemen mit symmetrischem Multiprocessing (SMP) möglicherweise nur eine beschränkte Anzahl an Prozessoren zur Verfügung.If the affinity mask option is not set to the default, it may restrict the number of processors available to SQL ServerSQL Server on symmetric multiprocessing (SMP) systems.

EmpfehlungenRecommendations

  • Diese Option ist eine erweiterte Option und sollte ausschließlich von einem erfahrenen Datenbankadministrator oder einem zertifizierten SQL ServerSQL Server -Experten geändert werden.This option is an advanced option and should be changed only by an experienced database administrator or certified SQL ServerSQL Server professional.

  • Um den Server für die Ermittlung des maximalen Parallelitätsgrads zu aktivieren, legen Sie diese Option auf den Standardwert 0 fest.To enable the server to determine the maximum degree of parallelism, set this option to 0, the default value. Durch das Festlegen des maximalen Parallelitätsgrads auf 0 kann SQL ServerSQL Server alle verfügbaren Prozessoren verwenden (bis maximal 64 Prozessoren).Setting maximum degree of parallelism to 0 allows SQL ServerSQL Server to use all the available processors up to 64 processors. Legen Sie Max. Grad an Parallelität auf 1 fest, um das Generieren paralleler Pläne zu unterdrücken.To suppress parallel plan generation, set max degree of parallelism to 1. Legen Sie den Wert auf eine Zahl von 1 bis 32.767 fest, um die maximale Anzahl von Prozessorkernen anzugeben, die von einer einzelnen Abfrageausführung verwendet werden können.Set the value to a number from 1 to 32,767 to specify the maximum number of processor cores that can be used by a single query execution. Wenn ein Wert angegeben wird, der über der Anzahl der verfügbaren Prozessoren liegt, wird die tatsächliche Anzahl der Prozessoren verwendet.If a value greater than the number of available processors is specified, the actual number of available processors is used. Verfügt der Computer nur über einen Prozessor, wird der Wert von Max. Grad an Parallelität ignoriert.If the computer has only one processor, the max degree of parallelism value is ignored.

  • In Abfragen kann der Wert "Max. Grad an Parallelität" überschrieben werden; geben Sie hierzu den Abfragehinweis MAXDOP in der Abfrageanweisung an.You can override the max degree of parallelism value in queries by specifying the MAXDOP query hint in the query statement. Weitere Informationen finden Sie unter Abfragehinweise (Transact-SQL).For more information, see Query Hints (Transact-SQL).

  • Indizierungsoperationen, bei denen ein Index erstellt oder neu aufgebaut wird bzw. an deren Ende ein gruppierter Index steht, können ressourcenintensiv sein.Index operations that create or rebuild an index, or that drop a clustered index, can be resource intensive. In Indizierungsoperationen kann der Wert "Max. Grad an Parallelität" überschrieben werden; geben Sie hierzu die Indexoption MAXDOP in der Indexanweisung an.You can override the max degree of parallelism value for index operations by specifying the MAXDOP index option in the index statement. Der Wert MAXDOP wird zur Ausführungszeit auf die Anweisung angewendet und wird nicht in den Metadaten für den Index gespeichert.The MAXDOP value is applied to the statement at execution time and is not stored in the index metadata. Weitere Informationen finden Sie unter Konfigurieren von Parallelindexvorgängen.For more information, see Configure Parallel Index Operations.

  • Neben Abfragen und Indexoperationen steuert diese Option auch die Parallelität von DBCC CHECKTABLE, DBCC CHECKDB und DBCC CHECKFILEGROUP.In addition to queries and index operations, this option also controls the parallelism of DBCC CHECKTABLE, DBCC CHECKDB, and DBCC CHECKFILEGROUP. Sie können Pläne für die parallele Ausführung für diese Anweisungen deaktivieren, und zwar mithilfe des Ablaufverfolgungsflags 2528.You can disable parallel execution plans for these statements by using trace flag 2528. Weitere Informationen finden Sie unter Ablaufverfolgungsflags (Transact-SQL).For more information, see Trace Flags (Transact-SQL).

RichtlinienGuidelines

Ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) werden beim Starten des Diensts standardmäßig automatisch Soft-NUMA-Knoten erstellt, wenn Datenbank-EngineDatabase Engine beim Startup mehr als acht physische Kerne pro NUMA-Knoten oder Socket erkennt.Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x), during service startup if the Datenbank-EngineDatabase Engine detects more than eight physical cores per NUMA node or socket at startup, soft-NUMA nodes are created automatically by default. Datenbank-EngineDatabase Engine platziert logische Prozessoren aus dem gleichen physischen Kern in verschiedene Soft-NUMA-Knoten.The Datenbank-EngineDatabase Engine places logical processors from the same physical core into different soft-NUMA nodes. Die Empfehlungen in der folgenden Tabelle sollen alle Arbeitsthreads einer parallelen Abfrage innerhalb des gleichen NUMA-Knotens beibehalten.The recommendations in the table below are aimed at keeping all the worker threads of a parallel query within the same soft-NUMA node. Dies verbessert die Leistung der Abfragen und die Verteilung von Arbeitsthreads in allen NUMA-Knoten für die Workload.This will improve the performance of the queries and distribution of worker threads across the NUMA nodes for the workload. Weitere Informationen finden Sie unter Soft-NUMA.For more information, see Soft-NUMA.

Verwenden Sie ab SQL Server 2016 (13.x)SQL Server 2016 (13.x) die folgenden Richtlinien beim Konfigurieren des Serverkonfigurationswerts Max. Grad an Parallelität:Starting with SQL Server 2016 (13.x)SQL Server 2016 (13.x), use the following guidelines when you configure the max degree of parallelism server configuration value:

Server mit einzelnem NUMA-KnotenServer with single NUMA node Weniger als oder gleich 8 logische ProzessorenLess than or equal to 8 logical processors Belassen Sie MAXDOP bei # oder weniger logischen ProzessorenKeep MAXDOP at or below # of logical processors
Server mit einzelnem NUMA-KnotenServer with single NUMA node Mehr als 8 logische ProzessorenGreater than 8 logical processors Belassen Sie MAXDOP bei 8Keep MAXDOP at 8
Server mit mehreren NUMA-KnotenServer with multiple NUMA nodes Weniger als oder gleich 16 logische Prozessoren pro NUMA-KnotenLess than or equal to 16 logical processors per NUMA node Belassen Sie MAXDOP bei # oder weniger logischen Prozessoren pro NUMA-KnotenKeep MAXDOP at or below # of logical processors per NUMA node
Server mit mehreren NUMA-KnotenServer with multiple NUMA nodes Mehr als 16 logische Prozessoren pro NUMA-KnotenGreater than 16 logical processors per NUMA node Sorgen Sie dafür, dass MAXDOP der Hälfte der logischen Prozessoren pro NUMA-Knoten mit einem MAX-Wert von 16 entspricht.Keep MAXDOP at half the number of logical processors per NUMA node with a MAX value of 16

Hinweis

Der NUMA-Knoten in der obigen Tabelle bezieht sich auf automatisch von SQL Server 2016 (13.x)SQL Server 2016 (13.x) und höheren Versionen erstellte Soft-NUMA-Knoten.NUMA node in the above table refers to soft-NUMA nodes automatically created by SQL Server 2016 (13.x)SQL Server 2016 (13.x) and higher versions.
Verwenden Sie dieselben Richtlinien, wenn Sie die Option „Max. Grad an Parallelität“ für Resource Governor-Arbeitsauslastungsgruppen festlegen.Use these same guidelines when you set the max degree of parallelism option for Resource Governor workload groups. Weitere Informationen finden Sie unter CREATE WORKLOAD GROUP (Transact-SQL).For more information, see CREATE WORKLOAD GROUP (Transact-SQL).

Verwenden Sie von bis die folgenden Richtlinien beim Konfigurieren des Serverkonfigurationswerts SQL Server 2008SQL Server 2008Max. Grad an ParallelitätSQL Server 2014 (12.x)SQL Server 2014 (12.x):From SQL Server 2008SQL Server 2008 through SQL Server 2014 (12.x)SQL Server 2014 (12.x), use the following guidelines when you configure the max degree of parallelism server configuration value:

Server mit einzelnem NUMA-KnotenServer with single NUMA node Weniger als oder gleich 8 logische ProzessorenLess than or equal to 8 logical processors Belassen Sie MAXDOP bei # oder weniger logischen ProzessorenKeep MAXDOP at or below # of logical processors
Server mit einzelnem NUMA-KnotenServer with single NUMA node Mehr als 8 logische ProzessorenGreater than 8 logical processors Belassen Sie MAXDOP bei 8Keep MAXDOP at 8
Server mit mehreren NUMA-KnotenServer with multiple NUMA nodes Weniger als oder gleich 8 logische Prozessoren pro NUMA-KnotenLess than or equal to 8 logical processors per NUMA node Belassen Sie MAXDOP bei # oder weniger logischen Prozessoren pro NUMA-KnotenKeep MAXDOP at or below # of logical processors per NUMA node
Server mit mehreren NUMA-KnotenServer with multiple NUMA nodes Mehr als 8 logische Prozessoren pro NUMA-KnotenGreater than 8 logical processors per NUMA node Belassen Sie MAXDOP bei 8Keep MAXDOP at 8

SicherheitSecurity

BerechtigungenPermissions

Die Ausführungsberechtigungen für sp_configure ohne Parameter oder nur mit dem ersten Parameter werden standardmäßig allen Benutzern erteilt.Execute permissions on sp_configure with no parameters or with only the first parameter are granted to all users by default. Zum Ausführen von sp_configure mit beiden Parametern zum Ändern einer Konfigurationsoption oder zum Ausführen der RECONFIGURE-Anweisung muss einem Benutzer die ALTER SETTINGS-Berechtigung auf Serverebene erteilt worden sein.To execute sp_configure with both parameters to change a configuration option or to run the RECONFIGURE statement, a user must be granted the ALTER SETTINGS server-level permission. Die ALTER SETTINGS-Berechtigung ist in den festen Serverrollen sysadmin und serveradmin eingeschlossen.The ALTER SETTINGS permission is implicitly held by the sysadmin and serveradmin fixed server roles.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So konfigurieren Sie die Option Max. Grad an ParallelitätTo configure the max degree of parallelism option

  1. Klicken Sie im Objekt-Explorermit der rechten Maustaste auf einen Server, und wählen Sie Eigenschaftenaus.In Object Explorer, right-click a server and select Properties.

  2. Klicken Sie auf den Erweitert -Knoten.Click the Advanced node.

  3. Wählen Sie im Feld Max. Grad an Parallelität die maximale Anzahl der Prozessoren aus, die bei der Ausführung paralleler Pläne verwendet werden sollen.In the Max Degree of Parallelism box, select the maximum number of processors to use in parallel plan execution.

Verwenden von Transact-SQLUsing Transact-SQL

So konfigurieren Sie die Option Max. Grad an ParallelitätTo configure the max degree of parallelism option

  1. Stellen Sie eine Verbindung mit dem Datenbank-EngineDatabase Engineher.Connect to the Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.From the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute. In diesem Beispiel wird gezeigt, wie sp_configure verwendet wird, um die Option max degree of parallelism auf 8festzulegen.This example shows how to use sp_configure to configure the max degree of parallelism option to 8.

USE AdventureWorks2012 ;  
GO   
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  
EXEC sp_configure 'max degree of parallelism', 16;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  

Weitere Informationen finden Sie unter Serverkonfigurationsoptionen (SQL Server)angezeigt oder konfiguriert wird.For more information, see Server Configuration Options (SQL Server).

Nächster Schritt: Nach dem Konfigurieren der Option „Max. Grad an Parallelität“Follow Up: After you configure the max degree of parallelism option

Die Einstellung tritt ohne Neustarten des Servers sofort in Kraft.The setting takes effect immediately without restarting the server.

Weitere InformationenSee Also

Affinitätsmaske (Serverkonfigurationsoption) affinity mask Server Configuration Option
RECONFIGURE (Transact-SQL) RECONFIGURE (Transact-SQL)
Serverkonfigurationsoptionen (SQL Server) sp_configure (Transact-SQL) Server Configuration Options (SQL Server) sp_configure (Transact-SQL)
CREATE INDEX (Transact-SQL) CREATE INDEX (Transact-SQL)
ALTER INDEX (Transact-SQL) ALTER INDEX (Transact-SQL)
ALTER TABLE (Transact-SQL) ALTER TABLE (Transact-SQL)
DBCC CHECKTABLE (Transact-SQL) DBCC CHECKTABLE (Transact-SQL)
DBCC CHECKDB (Transact-SQL) DBCC CHECKDB (Transact-SQL)
DBCC CHECKFILEGROUP (Transact-SQL) DBCC CHECKFILEGROUP (Transact-SQL)
Konfigurieren von Parallelindexvorgängen Configure Parallel Index Operations
Abfragehinweise (Transact-SQL) Festlegen von IndexoptionenQuery Hints (Transact-SQL) Set Index Options
Recommendations and guidelines for the "max degree of parallelism" configuration option in SQL Server (Empfehlungen und Guidelines für die Konfigurationsoption „Max. Grad an Parallelität“ in SQL Server)Recommendations and guidelines for the "max degree of parallelism" configuration option in SQL Server