Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 SQL Server Administration (2005)
 DBCC CHECKDB Failed with 1203

Author  Topic 

agiotti
Starting Member

37 Posts

Posted - 2014-10-23 : 09:29:37
Hello SQL Guru's,

Environment:
Microsoft SQL Server 2005 Enterprise - 9.00.5292.00 (X64)

Problem Statement:
During DBCC CHECKDB on an 100GB database with 90GB free physical disk space DBCC failed with the following series of errors which was captured in the SQL Server errorlog.

Error 1203 thrown first 23:47:05.850
Error 3314 thrown second 23:47:05.880
Error 7926 thrown third 23:47:26.920

Error: 1203, Severity: 20, State: 1.
Process ID attempted to unlock a resource it does not own: PAGE: 15:1:620623. Retry the transaction, because this error may be caused by a timing condition

Error: 3314, Severity: 17, State: 3.
During undoing of a logged operation in database 'MyDatabase', an error occurred at log record ID (105723:23534:208)

Error: 7926, Severity: 16, Error State: 1
The database could not be checked as a database snapshot could not be created and the database or table could not be locked.

Database ID 15 is not view-able by any system catalog therefore this is obviously the hidden database snapshot

Displaying what page id 620623 is within the actual primary database belongs to, we will call it TABLE_A, and the m_type = 10 which is the IAM page.

There was an ETL processing executing and updating TABLE_A while DBCC CHECKDB was attempting to read the pages from the hidden snapshot.

If this were a disk space issue wouldn't it had logged the following error conditions: 1823 or 7928, neither were present.

I am having trouble understanding what actually occurred that caused DBCC to fail.

NOTE: the windows event logs displays the exact error conditions listed previously.

Also, rerunning DBCC CHECKDB manually was successful and no errors reported.

Lastly, the following is the actual DBCC command, omitting the database name. You will notice that it does not contain the WITH TABLOCK hint nor is error 5030 (database cannot be exclusively locked) present, which may have attributed to the 7926 error.

DBCC CHECKDB (MyDatabase) WITH TABLERESULTS, NO_INFOMSGS, ALL_ERRORMSGS, PHYSICAL_ONLY

Any help understanding what may have transpired is greatly welcomed.
   

- Advertisement -