Investigate Root Cause of DBCC CHECKDB error | (SQLSTATE 42000)(Error 8992 | Catalog Msg 3853)

Lucas Bjorndal 0 Reputation points
2025-05-07T08:39:20.11+00:00

  • Details:
    • I am running Microsoft SQL Server 2022
    • I am running DBCC CHECKDB on a user database (of which raised this error), each saturday
    • This has happened on one on-prem Windows Server with installation of SQL server, with a predefined set of configs
    • Then after a month, I set up an additional on-prem Windows Server with same installation of SQL server, with the same predefined set of configs. The DBCC CHECKDB runs fine the first two weeks, then fails.
    • The error output after DBCC CHECKDB run on the user database: [SQLSTATE 01000] (Message 50000)  Command: DBCC CHECKDB ([<DATABASENAME_REDACTED>]) WITH ALL_ERRORMSGS 
      [SQLSTATE 01000] (Message 50000)  Check Catalog Msg 3853, State 1: Attribute (objid=317307915,indexid=1) of row (class=0,objid=317307915,indexid=1,rowsetnum=1) in sys.sysrowsetrefs does not have a matching row (object_id=317307915,index_id=1) in sys.indexes.  ...
      .. CHECKDB found 0 allocation errors and 12 consistency errors not associated with any single object And there is 11 more objects with the same error, I just didn't print them all here right now.
    • Both servers have several of these errors, with same message, but just different object_ids.
    • Both servers use the same type of hardware, server model, hardware provider, disk provider and disk model.
    • Both servers have restored to this userdatabase, from a database in an Azure SQL Managed Instance.
    • A small overview of errors returned by DBCC CHECKDB:
Date Errors Notes
See *Notes 12 errors From 08/01/2025 to today(07/05/2025)
08/01/2025 12 errors We tried REPAIR_ALLOW_DATA_LOSS here
04/01/2025 12 errors
28/12/2024 12 errors
21/12/2024 12 errors
14/12/2024 12 errors Same amount of errors
07/12/2024 7 errors
30/11/2024 7 errors
23/11/2024 7 errors
16/11/2024 7 errors
09/11/2024 7 errors
02/11/2024 7 errors
26/10/2024 3 errors First appearance
19/10/2024 No errors
17/10/2024 No errors
16/10/2024 No errors
12/10/2024 No errors
05/10/2024 No errors

  • Troubleshooting steps already taken:
    • Firstly worth noting - No clean backups available.
    • Second thing worth noting - We have not experienced this causing or impacting the performance or functionality or integrity of the "user-created" objects (tables, views, constraints, procedures, indexes, )
    • DBCC CHECKDB on userdatabase have been runned on the Azure SQL Managed Instance as well, no DBCC CHECKDB Errors there
    • Performed several selects against:
      • sys.sysrowsetrefs,
      • sys.sysrowsets,
      • sys.partitions,
      • sys.objects,
      • sys.sql_modules,
      • sys.stats,
      • sys.indexes,
      • sys.allocation_units
      • sys.system_internals_partition_columns,
      To try and retrieve info, by Object_id (and/or rowsetid based on object_id from sys.sysrowsetrefs) None of the querries I ran, returned rows based on objid/rowsetid, except for sys.sysrowsetrefs ; the table that DBCC found does not have a matching row in sys.indexes for instance. It's like that this is a ghost object, just dangling reference to an object that is deleted or none-existent. And I can't retrieve any info about what this object was, why and how it is now gone, nor where on disk/page/partition it was stored.
    • I therefore tried running sp_clean_db_free_space manually in hope that it would eliminate the ghost records the DBCC CHECKDB was reporting - But nothing happened to the records.
    • Tried DBCC CHECKDB ([<DATABASENAME_REDACTED>], REPAIR) No errors repaired, still getting the same errors
    • Tried DBCC CHECKDB ([<DATABASENAME_REDACTED>], REPAIR_ALLOW_DATA_LOSS) No errors repaired, still getting the same errors. (After running this, I restored to full backup taken just before I ran this command, in order to rule out that REPAIR_ALLOW_DATA_LOSS could have messed this up even more.)
    • Tried running hardware providers disk check, and hardware check, to rule out if this could be I/O issue. No events registred, nor no errors or fails reported.

I really feel like I've tried everything here, but I'm eager to find the root cause to this, since It's happened on two servers now, not just one. Also a solution to how I should fix this going forward now would be highly appriciated!

Please feel free to ask me for more information or details

SQL Server Database Engine
{count} votes

Answer recommended by moderator
  1. Lucas Bjorndal 0 Reputation points
    2025-05-08T07:22:23.6533333+00:00
    0 comments No comments

1 additional answer

Sort by: Most helpful
  1. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.

    1 deleted comment

    Comments have been turned off. Learn more

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.