{"id":462,"date":"2012-11-26T11:26:00","date_gmt":"2012-11-26T11:26:00","guid":{"rendered":"\/blogs\/erin\/post\/DBCC-CHECKDB-Parallel-Checks-and-SQL-Server-Edition.aspx"},"modified":"2018-12-14T09:11:09","modified_gmt":"2018-12-14T17:11:09","slug":"dbcc-checkdb-parallel-checks-and-sql-server-edition","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/","title":{"rendered":"DBCC CHECKDB Parallel Checks and SQL Server Edition"},"content":{"rendered":"<p>It\u2019s been a few weeks since the PASS Summit but I\u2019m still getting the occasional email from people who attended one of my sessions. I consider this a good thing \u2013 I believe that if someone follows up with me a few weeks after they attended a session, then something I said stuck with them and it was worth their time to follow up. Some people have had questions about something I said during a session, and others are following up on discussions we had during the week.<\/p>\n<p>I had one question about minimizing the resources used by DBCC CHECKDB, and one of the suggestions I provided was to reduce MAXDOP when CHECKDB was running, to limit the number of processors used by CHECKDB. However, I want to point out that CHECKDB <em>only runs in parallel on Enterprise Edition<\/em>. You may be aware of this already, as Paul mentions it in one of his <a href=\"https:\/\/www.sqlskills.com\/blogs\/paul\/checkdb-from-every-angle-how-long-will-checkdb-take-to-run\/\">posts<\/a>, and also in the <a href=\"https:\/\/www.amazon.com\/Microsoft\u00ae-SQL-Server\u00ae-2008-Internals\/dp\/0735626243\/ref=sr_1_1?ie=UTF8&amp;qid=1353946017&amp;sr=8-1&amp;keywords=sql+server+2008+internals\">SQL Server 2008 Internals<\/a> book. But, as I was perusing the <a title=\"DBCC CHECKDB\" href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/database-console-commands\/dbcc-checkdb-transact-sql\">DBCC CHECKDB entry<\/a> online, I discovered that it contains incorrect information. From BOL (emphasis mine):<\/p>\n<blockquote><p><strong><span style=\"font-family: Times New Roman; font-size: medium;\">\u201cChecking Objects in Parallel<\/span><\/strong><\/p>\n<p><span style=\"font-size: medium;\"><span style=\"font-family: Times New Roman;\"><em>By default, DBCC CHECKDB performs parallel checking of objects<\/em>. The degree of parallelism is automatically determined by the query processor. The maximum degree of parallelism is configured just like parallel queries. To restrict the maximum number of processors available for DBCC checking, use <\/span><\/span><span style=\"font-family: Times New Roman; font-size: medium;\">sp_configure<\/span><span style=\"font-family: Times New Roman; font-size: medium;\">. For more information, see <\/span><span style=\"font-family: Times New Roman; font-size: medium;\">Configure the max degree of parallelism Server Configuration Option<\/span><span style=\"font-family: Times New Roman; font-size: medium;\">. Parallel checking can be disabled by using trace flag 2528. For more information, see <\/span><span style=\"font-family: Times New Roman; font-size: medium;\">Trace Flags (Transact-SQL)<\/span><span style=\"font-family: Times New Roman; font-size: medium;\">.\u201d<\/span><\/p><\/blockquote>\n<p>The first sentence is incorrect. DBCC CHECKDB does <em>not<\/em> perform parallel checking of objects in Standard Edition. At all. CHECKDB is always single-threaded in Standard Edition and I confirmed this with the SQL Server development team.<\/p>\n<p>For Enterprise Edition, CHECKDB respects the maximum degree of parallelism setting configured for the instance. If you have MAXDOP set to 0 for the instance, but want to restrict CHECKDB to only use 2 processors, you need to either change MAXDOP for the instance to 2, or you need to use <a href=\"http:\/\/download.microsoft.com\/download\/D\/B\/D\/DBDE7972-1EB9-470A-BA18-58849DB3EB3B\/ResourceGov.docx\">Resource Governor<\/a> (also an Enterprise-only feature).<\/p>\n<p>I did enter a Connect item for this, and hopefully the documentation will be fixed soon. I hope this clears up any confusion that may exist.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s been a few weeks since the PASS Summit but I\u2019m still getting the occasional email from people who attended one of my sessions. I consider this a good thing \u2013 I believe that if someone follows up with me a few weeks after they attended a session, then something I said stuck with them [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>DBCC CHECKDB Parallel Checks and SQL Server Edition<\/title>\n<meta name=\"description\" content=\"DBCC CHECKDB can run in parallel in SQL Server Enterprise Edition, based on the MAXDOP setting. In Standard Edition, checks are single-threaded.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DBCC CHECKDB Parallel Checks and SQL Server Edition\" \/>\n<meta property=\"og:description\" content=\"DBCC CHECKDB can run in parallel in SQL Server Enterprise Edition, based on the MAXDOP setting. In Standard Edition, checks are single-threaded.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/\" \/>\n<meta property=\"og:site_name\" content=\"Erin Stellato\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-26T11:26:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-12-14T17:11:09+00:00\" \/>\n<meta name=\"author\" content=\"Erin Stellato\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Erin Stellato\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/\",\"name\":\"DBCC CHECKDB Parallel Checks and SQL Server Edition\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#website\"},\"datePublished\":\"2012-11-26T11:26:00+00:00\",\"dateModified\":\"2018-12-14T17:11:09+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158\"},\"description\":\"DBCC CHECKDB can run in parallel in SQL Server Enterprise Edition, based on the MAXDOP setting. In Standard Edition, checks are single-threaded.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DBCC CHECKDB Parallel Checks and SQL Server Edition\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/\",\"name\":\"Erin Stellato\",\"description\":\"The SQL Sequel\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158\",\"name\":\"Erin Stellato\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g\",\"caption\":\"Erin Stellato\"},\"sameAs\":[\"http:\/\/3.209.169.194\/blogs\/erin\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/author\/erin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DBCC CHECKDB Parallel Checks and SQL Server Edition","description":"DBCC CHECKDB can run in parallel in SQL Server Enterprise Edition, based on the MAXDOP setting. In Standard Edition, checks are single-threaded.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/","og_locale":"en_US","og_type":"article","og_title":"DBCC CHECKDB Parallel Checks and SQL Server Edition","og_description":"DBCC CHECKDB can run in parallel in SQL Server Enterprise Edition, based on the MAXDOP setting. In Standard Edition, checks are single-threaded.","og_url":"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/","og_site_name":"Erin Stellato","article_published_time":"2012-11-26T11:26:00+00:00","article_modified_time":"2018-12-14T17:11:09+00:00","author":"Erin Stellato","twitter_misc":{"Written by":"Erin Stellato","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/","url":"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/","name":"DBCC CHECKDB Parallel Checks and SQL Server Edition","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#website"},"datePublished":"2012-11-26T11:26:00+00:00","dateModified":"2018-12-14T17:11:09+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158"},"description":"DBCC CHECKDB can run in parallel in SQL Server Enterprise Edition, based on the MAXDOP setting. In Standard Edition, checks are single-threaded.","breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/dbcc-checkdb-parallel-checks-and-sql-server-edition\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/erin\/"},{"@type":"ListItem","position":2,"name":"DBCC CHECKDB Parallel Checks and SQL Server Edition"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/erin\/","name":"Erin Stellato","description":"The SQL Sequel","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/erin\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158","name":"Erin Stellato","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g","caption":"Erin Stellato"},"sameAs":["http:\/\/3.209.169.194\/blogs\/erin"],"url":"https:\/\/www.sqlskills.com\/blogs\/erin\/author\/erin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/posts\/462"}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/comments?post=462"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/posts\/462\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/media?parent=462"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/categories?post=462"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/tags?post=462"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}