Parallelism with purpose.
Start with your topology.
Calculate a MAXDOP starting point from the processors SQL Server can actually use.
CPU & NUMA profile
01 / INPUTSFind your SQL-visible topology
Run this read-only query on the intended instance. Each row is an online node; the processor count comes from its visible online schedulers.
SELECT n.node_id, COUNT(*) AS online_logical_processors
FROM sys.dm_os_nodes AS n
JOIN sys.dm_os_schedulers AS s
ON s.parent_node_id = n.node_id
WHERE n.node_state_desc LIKE 'ONLINE%'
AND n.node_state_desc NOT LIKE '%DAC%'
AND s.status = 'VISIBLE ONLINE'
GROUP BY n.node_id
ORDER BY n.node_id;Requires VIEW SERVER STATE on 2017/2019, or VIEW SERVER PERFORMANCE STATE on 2022. Add the row counts for total processors and count the returned rows for nodes.Parallelism plan
02 / RESULTSSuggested instance MAXDOP
Generated T-SQL
Review and run on the intended instance. Requires ALTER SETTINGS. Takes effect without a restart; this tool never connects to your server.
NUMA matters.
Core count isn't enough.
The calculator selects the upper starting point from Microsoft's topology guidance. A lower value may suit your workload; this is not a performance assessment.
Rules for SQL Server 2016 and later
| SQL-visible topology | Starting point |
|---|---|
| One node, up to 8 logical processors | Processor count |
| One node, more than 8 | 8 |
| Multiple nodes, up to 16 processors per node | Processors per node |
| Multiple nodes, more than 16 per node | Half per node, at most 16 |
For odd processor counts the tool rounds half down. For unequal nodes, it uses the smallest node conservatively; Microsoft’s table does not specify this extension.
What the setting means
MAXDOP limits parallelism per task. It is not a limit on the total workers a query can consume. A value of 1 suppresses parallel plans; 0 permits all available processors up to SQL Server's documented limit of 64.
Validate before and after
Check SQL-visible nodes, CPU affinity and VM topology first. Test representative concurrency, CPU usage, worker pressure, query duration and waits. Database-scoped MAXDOP, query hints, Resource Governor and index-operation options can affect the effective value. This tool does not change cost threshold for parallelism or account for every edition-specific operation limit.
Scope: SQL Server 2017–2022 instances, not Azure SQL services or a workload-specific tuning prescription. Guidance checked October 5, 2026.