Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
In dit artikel wordt beschreven hoe u de max degree of parallelism (MAXDOP) serverconfiguratieoptie in SQL Server configureert met behulp van SQL Server Management Studio of Transact-SQL. Wanneer een exemplaar van SQL Server wordt uitgevoerd op een computer met meer dan één microprocessor of CPU, detecteert de database-engine of parallellisme kan worden gebruikt. De mate van parallelle uitvoering bepaalt het aantal processors dat wordt gebruikt om één instructie uit te voeren, voor elke parallelle uitvoering van het plan. U kunt de max degree of parallelism optie gebruiken om het aantal processors te beperken voor parallelle uitvoering van plannen. Zie de sectie max degree of parallelism op deze pagina voor meer informatie over de limiet die is ingesteld. SQL Server houdt rekening met parallelle uitvoeringsplannen voor query's, DDL-bewerkingen (Data Definition Language), parallelle invoegtoepassingen, online kolomwijzigingen, parallelle statistiekverzameling en statische en keyset-gestuurde cursorpopulatie.
SQL Server 2019 (15.x) heeft automatische aanbevelingen geïntroduceerd voor het instellen van de max degree of parallelism serverconfiguratieoptie op basis van het aantal processors dat beschikbaar is tijdens het installatieproces. Met de gebruikersinterface van setup kunt u de aanbevolen instellingen accepteren of uw eigen waarde invoeren. Zie Database Engine Configuration - MaxDOP-paginavoor meer informatie.
In Azure SQL Database, SQL Database in Fabric en Azure SQL Managed Instance is MAXDOPde standaardinstelling voor elke 8 individuele database, elastische pooldatabase en beheerd exemplaar. In Azure SQL Database en SQL Database in Fabric is de MAXDOP configuratie met databasebereik ingesteld op 8. In Azure SQL Managed Instance is de max degree of parallelism serverconfiguratieoptie ingesteld op 8.
Zie MAXDOP voor meer informatie over Azure SQL Database of SQL Database in Fabric.
Considerations
Deze optie is een geavanceerde optie en moet alleen worden gewijzigd door een ervaren databaseprofessional.
Als de optie affiniteitsmasker niet is ingesteld op de standaardinstelling, kan dit het aantal processors beperken dat beschikbaar is voor SQL Server op SMP-systemen (symmetrische multiprocessing).
Instellen max degree of parallelism op 0 stelt SQL Server in staat om alle beschikbare processors tot maximaal 64 processors te gebruiken. Dit is echter niet de aanbevolen waarde voor de meeste gevallen. Zie de sectie Aanbevelingen op deze pagina voor meer informatie over de aanbevolen waarden voor maximale mate van parallelle uitvoering.
Als u het genereren van parallelle plannen wilt onderdrukken, stelt u max degree of parallelism in op 1. Stel de waarde in op een getal van 1 tot 32.767 om het maximum aantal processorkernen op te geven dat kan worden gebruikt tijdens één queryuitvoering. Als een waarde groter is dan het aantal beschikbare processors is opgegeven, wordt het werkelijke aantal beschikbare processors gebruikt. Als de computer slechts één processor heeft, wordt de max degree of parallelism waarde genegeerd.
De maximale mate van parallelle uitvoering wordt per taak ingesteld. Het is niet per aanvraag of per query limiet. Dit betekent dat tijdens een parallelle queryuitvoering één aanvraag meerdere taken tot aan de MAXDOP limiet kan instellen en dat elke taak één werkrol en één planner gebruikt. Zie de sectie Parallelle taken plannen in de handleiding thread- en taakarchitectuur voor meer informatie.
U kunt de maximale mate van parallelle serverconfiguratiewaarde overschrijven:
- Gebruik op queryniveau de
MAXDOPquery hints of Query Store-hints. - Gebruik op databaseniveau de configuratie van het
MAXDOPdatabasebereik. - Gebruik op workloadniveau de
MAX_DOPoptie van een workloadgroep resource governor.
Indexbewerkingen die een index maken of herbouwen, of die een geclusterde index verwijderen, kunnen resource-intensief zijn. U kunt de maximale mate van parallelle uitvoering voor indexbewerkingen overschrijven door de MAXDOP indexoptie in de indexinstructie op te geven. De MAXDOP waarde wordt tijdens de uitvoering toegepast op de instructie en wordt niet opgeslagen in de metagegevens van de index. Zie Parallelle indexbewerkingen configurerenvoor meer informatie.
Naast query's en indexbewerkingen bepaalt deze optie ook het parallellisme van DBCC CHECKTABLE, DBCC CHECKDBen DBCC CHECKFILEGROUP. U kunt parallelle uitvoeringsplannen voor deze instructies uitschakelen met behulp van traceringsvlag 2528. Zie traceringsvlag 2528 voor meer informatie.
SQL Server 2022 (16.x) heeft DOP-feedback (Degree of Parallelism) geïntroduceerd, een nieuwe functie om de queryprestaties te verbeteren door inefficiënties voor parallelle uitvoering te identificeren voor herhalende query's, op basis van verstreken tijd en wachttijden. DOP-feedback maakt deel uit van de intelligente queryverwerkingsfamilie van functies en behandelt suboptimaal gebruik van parallelle uitvoering voor herhalende query's. Ga voor meer informatie over feedback over de mate van parallelisme (DOP) naar Feedback over de mate van parallelisme (DOP).
Recommendations
In SQL Server 2016 (13.x) en latere versies, tijdens het opstarten van de service, als de Database Engine meer dan acht fysieke kernen per NUMA-knooppunt of socket detecteert bij het opstarten, worden soft-NUMA-knooppunten automatisch automatisch gemaakt. De database-engine plaatst logische processors van dezelfde fysieke kern in verschillende soft-NUMA-knooppunten. De aanbevelingen in de volgende tabel zijn bedoeld om ervoor te zorgen dat alle werkthreads van een parallelle query binnen hetzelfde soft-NUMA-knooppunt blijven. Dit verbetert de prestaties van de query's en de distributie van werknemer-draad op de NUMA-knooppunten voor de workload. Zie Soft-NUMA (SQL Server) voor meer informatie.
Gebruik in SQL Server 2016 (13.x) en latere versies de volgende richtlijnen wanneer u de max degree of parallelism serverconfiguratiewaarde configureert:
| Serverconfiguratie | Het aantal processors | Guidance |
|---|---|---|
| Server met één NUMA-knooppunt | Kleiner dan of gelijk aan acht logische processors | Houd MAXDOP het aantal logische processors bij of onder het aantal logische processors |
| Server met één NUMA-knooppunt | Meer dan acht logische processorkernen | Bij 8 houden MAXDOP |
| Server met meerdere NUMA-knooppunten | Kleiner dan of gelijk aan 16 logische processors per NUMA-knooppunt | Houd MAXDOP bij of onder het aantal logische processors per NUMA-knooppunt |
| Server met meerdere NUMA-knooppunten | Groter dan 16 logische processors per NUMA-knooppunt | Houd MAXDOP maximaal de helft van het aantal logische processors per NUMA-knooppunt met een MAX-waarde van 16 |
NUMA-knooppunt in de vorige tabel verwijst naar soft-NUMA-knooppunten die automatisch worden gemaakt door SQL Server 2016 (13.x) en hogere versies, of op hardware gebaseerde NUMA-knooppunten als soft-NUMA is uitgeschakeld.
Gebruik dezelfde richtlijnen wanneer u de maximale mate van parallelle uitvoering instelt voor Resource Governor-workloadgroepen. Zie CREATE WORKLOAD GROUP voor meer informatie.
SQL Server 2014 en eerdere versies
Gebruik vanuit SQL Server 2008 (10.0.x) tot en met SQL Server 2014 (12.x) de volgende richtlijnen wanneer u de max degree of parallelism serverconfiguratiewaarde configureert:
| Serverconfiguratie | Het aantal processors | Guidance |
|---|---|---|
| Server met één NUMA-knooppunt | Kleiner dan of gelijk aan acht logische processors | Houd MAXDOP het aantal logische processors bij of onder het aantal logische processors |
| Server met één NUMA-knooppunt | Meer dan acht logische processorkernen | Bij 8 houden MAXDOP |
| Server met meerdere NUMA-knooppunten | Kleiner dan of gelijk aan acht logische processors per NUMA-knooppunt | Houd MAXDOP bij of onder het aantal logische processors per NUMA-knooppunt |
| Server met meerdere NUMA-knooppunten | Groter dan acht logische processors per NUMA-knooppunt | Bij 8 houden MAXDOP |
Permissions
Voer machtigingen uit op sp_configure zonder parameters of met alleen de eerste parameter worden standaard aan alle gebruikers verleend. Als u sp_configure wilt uitvoeren met beide parameters om een configuratieoptie te wijzigen of om de RECONFIGURE-instructie uit te voeren, moet aan een gebruiker de machtiging ALTER SETTINGS serverniveau worden verleend. De machtiging ALTER SETTINGS wordt impliciet gehouden door de vaste serverrollen sysadmin en serverbeheerder.
SQL Server Management Studio gebruiken
Met deze opties wordt de MAXDOP instantie gewijzigd.
Klik in Objectverkenner met de rechtermuisknop op het gewenste exemplaar en selecteer Eigenschappen.
Selecteer het geavanceerde knooppunt.
Selecteer in het vak Max Degree of Parallelism het maximum aantal processors dat moet worden gebruikt in parallelle uitvoering van het plan.
Gebruik Transact-SQL
Maak verbinding met de database-engine met SQL Server Management Studio.
Selecteer Nieuwe query in de standaardbalk.
Kopieer en plak het volgende voorbeeld in het queryvenster en selecteer uitvoeren. In dit voorbeeld ziet u hoe sp_configure te gebruiken om de
max degree of parallelismoptie naar16te configureren.USE master; GO EXECUTE sp_configure 'show advanced options', 1; GO RECONFIGURE WITH OVERRIDE; GO EXECUTE sp_configure 'max degree of parallelism', 16; GO RECONFIGURE WITH OVERRIDE; GO EXECUTE sp_configure 'show advanced options', 0; GO RECONFIGURE; GO
Zie Server-configuratieoptiesvoor meer informatie.
Opvolgen: Nadat u de maximale mate van parallelle uitvoering hebt geconfigureerd
De instelling wordt onmiddellijk van kracht zonder de server opnieuw op te starten.
Verwante inhoud
- Intelligent queryverwerking in SQL-databases
- architectuurhandleiding voor verwerking van query's
- Traceringsvlagmen instellen met DBCC TRACEON (Transact-SQL)
- Query Store-hints
- queryhints (Transact-SQL)
- HINT-queryhint GEBRUIKEN
- ALTER DATABASE SCOPED CONFIGURATION(Transact-SQL)
- Configuratieoptie voor affiniteitsmaskerserver
- Serverconfiguratieopties
- Architectuurhandleiding voor query-verwerking
- Handleiding voor thread- en taakarchitectuur
- sp_configure (Transact-SQL)
- Indexopties instellen
- mate van parallelle uitvoering (DOP) feedback
- opnieuw configureren (Transact-SQL)
- Prestaties bewaken en afstemmen voor betere resultaten
- Parallelle indexbewerkingen configureren