SYMPTOMS
When you run a DBCC check command in Microsoft SQL Server
2005, you may receive an error message that resembles the
following:
8909 16 1
Table error: Object ID 0,
index ID -1, partition ID 0, alloc unit ID 0
(type Unknown), page ID
(6:8040) contains an incorrect page ID in its page header. The PageId in the
page header = (0:0).
When the DBCC check command is
running for a database that is stored on an NTFS file system partition, and the NTFS partition is in MULTI-USER mode, the SQL
Server database engine creates an internal, read-only database snapshot. This
behavior prevents blocking problems and concurrency problems when the DBCC check command is
run. A
database snapshot uses one or more sparse files to store data.
The problem occurs
when the following conditions are true:
- SQL Server pages have been written to sparse files.
- These sparse files are used for DBCC replicas and
for the database snapshot.
- These sparse files are lost.
Because the sparse files are lost, SQL Server reads zeroed data on those pages when you run the DBCC check command.
Note This behavior may cause a false failure to occur when you run the DBCC
check command. Because the DBCC check command operates on an internal, read-only
database snapshot, the command does not indicate that the database itself is
damaged. The command only indicates that there is a problem with the internal, read-only
database snapshot.