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.
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.
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:
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:
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:
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.