DBCC CHECKDB behavior with MAXDOP settings I am trying to understand the DBCC CHECKDB usage with MAXDOP settings-
If i run DBCC CHECKDB with MAXDOP = 0 on a SQL instance where my MAXDOP settings is 8, what is happening actually? Is all of my available say 98 schedulers would be used? or still just 8? or just few?
if i run DBCC CHECKDB with no MAXDOP say a default with server level MAXDOP 8 , should i see then all 8 schedulers used? or it can be less than 8
Why I am raising above questions is for same CHECKDB runs for some server it seems to use less schedulers and some server with same run all schedulers causing 100 % CPU spikes
Thank you
If i run DBCC CHECKDB with MAXDOP = 0 on a SQL instance where my MAXDOP settings is 8, what is happening actually? Is all of my available say 98 schedulers would be used? or still just 8? or just few?

Per the documentation, in this case &quot;If MAXDOP is set to zero then SQL Server chooses the max degree of parallelism to use&quot; just like it does with any other query where you override the default MAXDOP settings.  SQL Server can use up to the maximum of 64 processors when MAXDOP is effectively set to 0.

if i run DBCC CHECKDB with no MAXDOP say a default with server level
MAXDOP 8 , should i see then all 8 schedulers used? or it can be less
than 8

Then SQL Server chooses a max degree of parallelism up to 8 just like it does with a normal query with a MAXDOP override specified.
You should check to make sure the servers are the same, have the same instance level CPU settings, the same MAXDOP (check database level MAXDOP as well), and ensure that the database being checked is the same. All of these can affect the performance and parallelism chosen.