Attempt to fetch logical page (1:192479) in database 7 failed. It belongs to allocation unit 72057594061062144 not to 72057594059685888

Surendra Adhikari 211 Reputation points
2023-04-16T04:45:20.3966667+00:00

while selecting from a table, following error has occured. Attempt to fetch logical page (1:192479) in database 7 failed. It belongs to allocation unit 72057594061062144 not to 72057594059685888

SQL Server | Other
{count} votes

Accepted answer
  1. Erland Sommarskog 121.9K Reputation points MVP Volunteer Moderator
    2023-04-16T09:10:27.14+00:00

    This means that your database is corrupt. You can run DBCC CHECKDB to get an idea of how bad the situation is. DBCC will also tell you which repair option that is needed to get rid of the corruption. In many cases, it will say that REPAIR_ALLOW_DATA_LOSS is needed.

    If that is so, you should first take a full backup of the database in its current state. You may or may not need it later. Next, you should instead restore a clean backup. Note that if you restore a backup from yesterday, you should run DBCC on this backup as well, as the corruption may have been lingering for a while. You may have to back a couple of days and restore full backups + log backups to get a corruption free database.

    Note that this sort of corruption does not happen out of the blue, but it is almost always the case of malfunctioning hardware, most often the I/O subsystem. Unless there have been recent incident like a power failure, you should consider hardware tainted and try to move to a new platform as soon as possible.

    I should add the discussion above assumes that you have a critical production database. If this is only personal development database, you may be less strict in the recovery procedure.

    3 people found this answer helpful.

2 additional answers

Sort by: Most helpful
  1. Pramod De Thabrew 5 Reputation points
    2023-04-16T05:46:02.8933333+00:00

    This error message indicates that SQL Server is unable to fetch a logical page from the database because it belongs to an incorrect allocation unit. Here are some steps you can take to troubleshoot this issue:

    1. Check the database consistency: Run the DBCC CHECKDB command to check the consistency of the database. This command will identify any errors or inconsistencies in the database and provide recommendations for fixing them.
    2. Check the allocation units: Use the DBCC IND command to check the allocation units for the database. This command will provide information about the allocation units and their corresponding pages.
    3. Check the disk space: Ensure that there is enough disk space available for the database. If the disk is full, SQL Server may not be able to allocate new pages for the database.
    4. Restore from backup: If the above steps do not resolve the issue, restore the database from a backup. This will replace the corrupted database with a clean copy from a previous point in time.
    1 person found this answer helpful.
    0 comments No comments

  2. RahulRandive 10,486 Reputation points Volunteer Moderator
    2023-04-16T16:13:02.36+00:00

    Hi Please find the information and possible solution of the error in below Microsoft document. https://learn.microsoft.com/en-US/sql/relational-databases/errors-events/mssqlserver-605-database-engine-error?view=sql-server-ver15 Thank you!

    1 person found this answer helpful.
    0 comments No comments

Your answer

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