Introduce Setting to Force DBCC CHECKDB to run Multi Threaded when MAXDOP = 1 - by Chirag Roy

Status : 

  Won't Fix<br /><br />
		Due to several factors the product team decided to focus its efforts on other items.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 538754 Comments
Status Resolved Workarounds
Type Suggestion Repros 0
Opened 3/3/2010 4:29:52 PM
Access Restriction Public


When MAX Degree of Parallellism is set to 1 at the SQL Server Level then DBCC CHECKDB runs single threaded and may take a long time to execute on a VLDB.

Can we have a setting or traceflag to enable DBCC CHECKDB to run multi threaded. This will hopefully help save time when running on VLDB's. Thank you.
Sign in to post a comment.
Posted by Microsoft on 12/17/2015 at 1:53 PM
Hi Chirag,

Thanks again for reporting this issue and continued support in improving our product.
Posted by Chirag Roy on 12/8/2015 at 6:55 AM
Looks like Microsoft have finally taken the bold step of introducing this in SQL 2016.
Posted by Wim SQL Server on 4/2/2015 at 8:06 AM
u cannot run checkdb on multiple tables in 1db multithreaded. everything is locked.. so i think they need to change some things.
I tried to run it multithreaded using service broker but it didn't work :)
Reindexing my tables with service broker run multithreaded and very fast and works like a charm :)
Posted by edward dortland on 3/1/2013 at 2:54 PM
Requestor asks for an option to influence CPU usage while checking integrity of a database. Running checkdb on a secondary server is not an alternative. While it fixes your cpu problems on the primary for sure, your no longer doing your original task (checking your primary database). Running checkdb on the secondary is just that, you are checking the integrity of database on the secondary. The original question still remains, how could one influence cpu usage of checkdb while checking the physical integrity of the primary database? I would love an option for that.
Posted by Microsoft on 1/3/2012 at 11:56 AM
Thank you for your suggestion. At this point we have no plans to implement this option for CHECK* commands. Alternatives include performing CHECKDB on an AlwaysOn active secondary, or restoring your database backups to a separate server and running CHECKDB there.
Posted by dragonspeare on 11/6/2011 at 3:43 AM
Great idea, I have a VLDB where Sunday DBCC CHECKDB takes over 12 hours to complete.
Posted by Jon Morisi on 4/18/2011 at 2:22 PM
...max degree of parallelism, not MAXDOP
Posted by Paul Randal on 3/3/2010 at 4:39 PM
I really wanted to add this when I rewrote CHECKDB for 2005 but there really wasn't time. Hopefully it'll come soon as lots of people ask for it.