Here is the situation. My client has a good working copy of a database called JCDLive. The unfortunate part is a administrator ran a process on the front end that caused a bunch of financial data to be cleared. The database is intact but now they want to go back to the previous week. Ok no problem, restore from a backup. I use an offsite backup service and so I went and retrieved the backup and restored the database (side not I have tried multiple restore methods from backup; Used VSS and tried replacing mdf and log files). Great so far. Database attaches fine and everything looks great until they try the front end and find out they can't logon. I look into the database now and find that I can not run a DBCC CHECKDB without getting an error.
Msg 8921, Level 16, State 1, Line 1
Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors.
Try
DBCC CHECKDB ('JCDLive') WITH TABLOCK, ALL_ERRORMSGS, NO_INFOMSGS
- No LUCK, same error.
Check ERRORLOG in MSSQL LOG folder and see this.
2016-01-25 21:33:36.99 spid52 Error: 824, Severity: 24, State: 2.
2016-01-25 21:33:36.99 spid52 SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:37703; actual 0:0). It occurred during a read of page (1:37703) in database ID 23 at offset 0x0000001268e000 in file 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\JCDLive.mdf:MSSQL_DBCC23'. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
2016-01-25 21:33:37.02 spid52 DBCC CHECKDB (JCDLive) WITH no_infomsgs executed by sa terminated abnormally due to error state 5. Elapsed time: 0 hours 0 minutes 6 seconds.
I can go back to the live data files of course but that db has a bunch of messed up transactions. It would take a very long time to reverse what they did. Why am I having issues restoring from backup on this db? What am I doing wrong?
I have tried
DBCC CHECKDB (JCDLive, REPAIR_REBUILD)
DBCC CHECKDB (JCDLive, REPAIR_ALLOW_DATA_LOSS)
I have tried restoring even older backups from offsite backup with no luck either.