SQL Server 2008 R2 – DBCC DBINFO Showing Wrong Information

dbccsql-server-2008-r2

Though DBCC DBINFO() is undocumented, but we all know that

dbi_crdate: Database creation datatime
dbi_dbccLastKnownGood: the
completion time of the last 'clean' run of DBCC CHECKDB

For one of my database its showing following output.

enter image description here

Why output of DBCC DBINFO() showing smaller value for dbi_dbccLastKnownGood as compare to dbi_crdate. How can someone execute DBCC CHECKDB before a database is created ?

Best Answer

If you restore a database as a new database, the dbi_crdate field is the restore date/time.

Here's how to reproduce it:

  1. Create a new database.
  2. Run DBCC CHECKDB() on it.
  3. Look at DBCC DBINFO() for the creation date and DBCC dates.
  4. Back up the database.
  5. Delete the database.
  6. Restore the database (if you want to get fancy, use a different database name.)
  7. Look at DBCC DBINFO() for the creation date and DBCC dates. The creation date will be the restore time, and the DBCC date will be earlier.