DBCC Trace Flags 2562 and 2549

 

Erin Stellato and Jonathan Kehayias from sqlskills reached out asking for clarification of trace flags 2562 and 2549 behavior.  Trace flags 2562 and 2549 are documented in knowledgebase article: https://support.microsoft.com/en-us/kb/2634571 and the blog post https://blogs.msdn.microsoft.com/bobsql/2016/06/03/sql-2016-it-just-runs-faster-dbcc-scales-7x-better/ highlights the SQL 2016 DBCC performance improvements.

  • For SQL Server 2008, 2012 and 2014 the trace flag behavior remains the same.
  • For SQL Server 2016 the trace flags are available but the behavior may be altered by the design changes.

Trace flag 2549 is used to change how DBCC sees the volume layout of the database.   The SQL Server 2016 design change uses the CheckScanner instead of the MultiObjectScanner improving I/O behavior.   The design change significantly limits the scope and need for trace flag 2549.

Trace flag 2562 is used to change the batch sizing used by DBCC.  This is behavior is unchanged in SQL Server 2016.  Use this trace flag with caution as it may require additional TEMPDB space.

BobDorr – Principal SQL Server Escalation Engineer
RyanSton – Principal SQL Server Escalation Engineer