Microsoft SQL Server Error Code 8909

MS SQL Server is a relational database management and analysis system developed mainly for line-of-business, e-commerce, etc. and is usually setup at organizational level. The reason why SQL Servers is preferred in establishments is due to the fact that it includes support for XML, HTTP, ensures uptime, advanced management and tuning functionality to automate routine tasks and lowers total cost of ownership.

But the bitter fact is that the SQL Server is not immune to corruption and once it's primary or secondary files gets damaged, the data gets inaccessible and prompts up with error messages. One such error message is SQL error 8909 amongst several error messages. Through this page you will learn in detail about the error code 8909, how it occurs and method to fix it successfully.

Examine SQL Error 8909 & Its Message

When MS SQL Server 2000 or any other edition of SQL Server encounters a problem, it either pens a message from the sysmessages system table to the SQL Server error log, MS Windows 2000 or Windows NT 4.0 application log, or sends a message to the client, depending on the severity level of the error messages. Error messages can be returned by SQL Server when encountering a problem or produced manually using the RAISERROR statement.

Microsoft, the developer of SQL Server has confirmed that SQL Server error 8909 is a problem in MS SQL Server 2000. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 2. Further this page let you know about the SQL error 8909.

Msg 8909, Level 16, State 1, Line 1
Severity Level 16
Message Text
Table error: Object ID O_ID, index ID I_ID, page ID P_ID1. The PageId in the page header = P_ID2

Explanation - DBCC asked for page P_ID1. When the page was read from disk, the page ID in its header was found to be P_ID2.

Cause - This is one of the common error messages related to the tables in database that might occur while working with SQL Server installed in a computer system. The occurrence of this error message can make database inaccessible and it can be inferred that the cause behind this error is the corruption in the database table.

Manual Work to Fix SQL Server Error 8909

Some of the manual processes are discussed in this section that can prove as helping hand in the recovery of SQL database with its elements.

Run Hardware Diagnostics – One of the probable causes of this error discussed in this page can be hardware failure. So, the following can be tried as solution options to the error:

  • If the concerned SQL Server version is 2000, it is suggested to examine the MS Windows NT system and application logs, and also the SQL Server error log to check if the error is the result of hardware failure. And if it so, it is advised to run hardware diagnostics and rectify any hardware related problem.
  • If persistent data corruption problems occur, it should be tried to swap out different hardware components to isolate the problem. It should also be checked to ensure that the system does not have write caching enabled on the disk controller. If this problem is suspected, hardware vendor should be contacted.
  • If the above two resolutions do not work, then it could prove beneficial by switching to a wholly new hardware system, including reformatting the disk drives and reinstalling the operating system.

Restore From Backup - If the problem is not related to hardware failure then running hardware diagnostics does not fix the error. So the other way to make the data accessible once again and remove the corruption issue is to restore SQL database from backup. But again there can be issues that can emerge as a restriction:

  • Restoration from backup fails – The issue that can restrict the backup restoration is that the restore backup process may result in failure.

Executing DBCC CHECKDB Command – So, if clean backup is not available or restoration from backup fails, then another method that can be opted is execution of DBCC CHECKDB command without a repair clause to determine the extent of the corruption. The DBCC CHECKDB thereafter recommends a repair clause to use. Finally, DBCC CHECKDB with the appropriate repair clause can executed to repair the corruption.

Note - But the result of repair depends on the page type whether it is PFS, Allocation page or Other Pages. The result based on the type of page is explained as follows:

  • PFS Page: Repair is not possible
  • Allocation Page: The page is reformatted and rebuilt
  • Other Pages: The page is de-allocated

Eradicate with Exact Solution

If the above mention manual procedure fails to fix SQL error 8909, then a third party tool like SQL database recovery should be brought to get rid of SQL Server error 8909 or to recover corrupt MDF and NDF database file and export into SQL Server database.

sql recovery banner