Fixing a Bug: DBCC CHECKDB data purity checks are skipped for master and model

Fellow MVP Paul Randal just blogged about an issue he has discovered with how the master and model databases are created in SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, and SQL Server 2012. I just checked, and the same issue is present in SQL Server 2014 CTP1 (Build 11.0.9120).

Here is a more heavily commented version of Paul’s code to detect and fix the issue (that is also easier to copy and paste).  Please read Paul’s post for more details and background.

-- Fixing a Bug: DBCC CHECKDB data purity checks are skipped for master and model
-- By: Paul Randal
-- Posted on: August 29, 2013 1:15 pm 
-- http://www.sqlskills.com/blogs/paul/bug-dbcc-checkdb-data-purity-checks-are-skipped-for-master-and-model/

-- Turn on a session-level trace flag
DBCC TRACEON (3604); 

-- Look for the value of dbi_dbccFlags = 0. We want it to be dbi_dbccFlags = 2
DBCC DBINFO (N'master'); 
GO 
DBCC DBINFO (N'model'); 
GO 


-- This will set the value for dbi_dbccFlags correctly as part of running DBCC CHECKDB
DBCC CHECKDB (N'master') WITH DATA_PURITY, NO_INFOMSGS; 
GO
DBCC CHECKDB (N'model') WITH DATA_PURITY, NO_INFOMSGS; 
GO

-- Look for the value of dbi_dbccFlags = 2
DBCC DBINFO (N'master'); 
GO 
DBCC DBINFO (N'model'); 
GO 

-- Turn off the trace flag (even though it is just a session trace flag)
DBCC TRACEOFF (3604); 

About these ads
This entry was posted in SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 and tagged . Bookmark the permalink.

One Response to Fixing a Bug: DBCC CHECKDB data purity checks are skipped for master and model

  1. Pingback: (SFTW) SQL Server Links 06/09/13 • John Sansom

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s