1

Using Microsoft SQL Server 2012 SP2 Standard Edition on a 2 node SQL Cluster.

When I run dbcc checkdb on a certain database when it is in multi-user mode, it finds corruption in the clustered index of a table.

I put the database in single-user mode and run checkdb with the repair_allow_data_loss option to correct the issue. In single-user mode, it finds no problems and so does no repair.

Put it back in multi-user mode, run checkdb again, no errors are found.

Other databases on the server have no issues.

Nothing in either the Windows Event logs or the SQL logs indicate an issue (except for the dbcc logging in the SQL log file).

Anyone ever see this behavior before?

Checkdb error:

Msg 8939, Level 16, State 98, Line 1 Table error: Object ID 1163971323, index ID 1, partition ID 72057594205241344, alloc unit ID 72057594209107968 (type In-row data), page (1:127104). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 133129 and -4.

Msg 8928, Level 16, State 1, Line 1 Object ID 1163971323, index ID 1, partition ID 72057594205241344, alloc unit ID 72057594209107968 (type In-row data): Page (1:127104) could not be processed. See other errors for details.

Msg 8976, Level 16, State 1, Line 1 Table error: Object ID 1163971323, index ID 1, partition ID 72057594205241344, alloc unit ID 72057594209107968 (type In-row data). Page (1:127104) was not seen in the scan although its parent (1:127199) and previous (1:127103) refer to it. Check any previous errors.

Msg 8978, Level 16, State 1, Line 1 Table error: Object ID 1163971323, index ID 1, partition ID 7205759420541344, alloc unit ID 72057594209107968 (type In-row data). Page (1:127105) is missing a reference from previous page (1:127104). Possible chain linkage problem.

CHECKDB found 0 allocation errors and 4 consistency errors in table 'BI_trStoreSalesDetail_Hourly' (object ID 1163971323).

Database is not in production just yet, so data loss is not an issue.

In single-user mode checkdb returns: Command(s) completed successfully.

  • 3
    pleasepleasepleasepleasepleasepleasepleasepleasepleasepleasepleaseplease dont just blindly run the repair_allow_data_loss option. why dont you edit the question to post the actual findings of checkdb when executed in multi-user mode. – swasheck Feb 17 '15 at 20:49
  • What is the exact build number of sql server 2012 you are running ? – Kin Shah Feb 17 '15 at 20:53
  • Hopefully you are in full recovery mode with TLog backups. Since it's the clustered index, you will need to find out what page(s) are corrupt and do a page-level restore. If you have Enterprise edition, you can do the restore online, otherwise youll need to take the tail log backup, leaving the DB in NORECOVERY, do a page level restore, then bring the DB back online by issuing WITH RECOVERY. It's all covered in-depth here: brentozar.com/archive/2014/11/… – Kris Gruttemeyer Feb 17 '15 at 21:24
  • @KrisGruttemeyer even if they're not in full recovery, if the DBCC output is posted, it may be a simple resolution – swasheck Feb 17 '15 at 21:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.