Friday, April 29, 2011

System Table corruption renders to “All system tables must be in....” Error


Whenever a DBA creates any MS SQL object (be it a table, view, report, form, etc.), its properties (metadata) are saved in System Tables. These system tables are primarily used to discover differences and similarities between tables and columns at the time of database upgrade, view performance statistics, and collect lock information. These tables are hidden and even with full DBA access rights, remain restricted. (This is because if a DBA changes the location of any of these tables then the database becomes unmountable). While nothing can change the location of system tables, logical damage in MS SQL Server database can. In such cases, the DBA needs to perform restoration from an updated online or offline backup. But, if in case the database backup is unavailable, then the DBA can execute DBCC CHECKDB command to repair the database. The command, while successful in most cases, can fail under many situations, like severe database damage. For such scenarios, the DBA needs to opt for an effective MDF recovery application.
To elaborate the above case, consider the below error message that appears when a MS SQL Server DBA attempts to mount his/her database:
“System table 'OBJNAME' (object ID O_ID, index ID I_ID) is in filegroup FG_ID1. All system tables must be in filegroup FG_ID2. ”
Cause:
The above error message appears because the location of the system tables has been changed due to logical or damage in MS SQL Server database. Few causes for logical damage in MS SQL database are human mistakes, virus hits, unexpected system shutdown, and more.
Resolution:
To resolve the above database corruption error message, a DBA needs to follow the below steps:
· Perform database restoration from a current backup.
· In case of unavailability or inaccessibility of current backup, then execute DBCC CHECKDB command with suitable repair clause.
· In case the repair command also fails, then use third-party MDF recovery tool to repair corrupted MS SQL database.
MS SQL Recovery Software Information:
A commercial MDF recovery tool repairs corrupt database irrespective of its size. Such MDF file repair applications are easily understandable and can be used by any user. The database repair tools are safe and perform repair on the copy of the database. Most of these MDF file recovery tools come with demo versions that allow the user to preview its repaired database.
Applied for:
  • MS SQL Server 2000
  • MS SQL Server 2005
  • MS SQL Server 2008

Tuesday, March 16, 2010

List Of Few Common MS SQL Errors

MS SQL Errors:
  1. Unable to process table O_NAME because filegroup F_NAME is offline.
  2. Unable to process index I_NAME of table O_NAME because filegroup F_NAME is invalid.
  3. Table error: Page P_ID with object ID O_ID, index ID I_ID in its header is allocated by another object
  4. Table error: Object ID O_ID1, index ID I_ID1 cross-object chain linkage. Page P_ID1 points to P_ID2 in object ID O_ID2, index ID I_ID2.
  5. Could not find a table or object named '%.*ls'. Check sysobjects
  6. Index 'INDEX_NAME' on table 'OBJECT_NAME' is marked offline. Rebuild the index to bring it online.
  7. Object ID O_ID, index ID I_ID: Page P_ID is empty. This is not permitted at level LEVEL of the B-tree.
  8. IAM page P_ID1 is pointed to by the next pointer of IAM page P_ID2 object ID O_ID index ID I_ID but was not detected in the scan.
  9. Table error: Object ID O_ID, index ID I_ID, page P_ID. Test (TEST) failed. Values are VAL1 and VAL2.
  10. Table error: Page P_ID with object ID O_ID, index ID I_ID in its header is allocated by another object.
  11. Table error: PAGETYPE page P_ID (object ID O_ID, index ID I_ID) is out of the range of this database.
  12. Table error: Object ID O_ID, index ID I_ID. B-tree chain linkage mismatch. P_ID1->next = P_ID2, but P_ID2->Prev = P_ID3.
  13. Table error: Object ID O_ID, index ID I_ID, page ID P_ID1. The PageId in the page header = P_ID2.
  14. Table error: Allocation page P_ID has invalid PAGE_TYPE page header values. Type is TYPE. Check type, object ID and page ID on the page.
  15. Table error: Object ID O_ID, index ID I_ID. B-tree page P_ID1 has two parent nodes P_ID2, slot S_ID2 and P_ID3, slot S_ID3.
  16. Extent E_ID in database ID DB_ID is allocated to more than one allocation object.
  17. Extent E_ID is allocated to 'OBJECTNAME' and at least one other object.
  18. Database 'Employee' consistency errors in sysobjects, sysindexes, syscolumns, or systypes prevent further CHECKNAME processing.
  19. Page P_ID in database ID DB_ID is allocated in the SGAM SGAM_P_ID and PFS PFS_P_ID, but was not allocated in any IAM. PFS flags 'PFS_FLAGS'.
  20. IAM page P_ID for object ID O_ID, index ID I_ID controls pages in filegroup FG_ID1, that should be in filegroupFG_ID2
  21. Row error: Object ID O_ID, index ID I_ID, page ID P_ID, row ID S_ID. Column 'COLUMN' was created NOT NULL, but is NULL in the row.
  22. Database ID DB_ID, object 'OBJNAME' (ID O_ID). Loop in data chain detected at P_ID.
  23. Object ID O_ID, forwarding row page P_ID1, slot S_ID1 points to page P_ID2, slot S_ID2. Did not encounter forwarded row. Possible allocation error.
  24. Page errors on the GAM, SGAM, or PFS pages do not allow CHECKALLOC to verify database ID DB_ID pages from P_ID1 to P_ID2. See other errors for cause.
  25. Incorrect PFS free space information for page P_ID, object ID O_ID, index ID I_ID, in database ID DB_ID. Expected value PFS_VAL1, actual value PFS_VAL2.
  26. Database error: Page P_ID1 is marked with the wrong type in PFS page P_ID2. PFS status 0xVAL1 expected 0xVAL2

Thursday, March 11, 2010

Tips to resolve “Chain sequence numbers are out of order...” Error Message

An IAM (Index Allocation Map) page in MS SQL Server database is a metadata entry that plans the extents in a 4GB part of database file. This database file is used by three types of allocation units they are IN_ROW_DATA, LOB_DATA, and ROW_OVERFLOW_DATA. An IAM page includes a header to indicate the beginning range of Extents mapped by that particular IAM page. Moreover, every IAM page contains a sequence number, which acts as its exact position within the IAM chain. Corruption in the sequence numbers primarily results the inaccessibility of records stored in the database. In such situations, if you want to access your data, then you need to restore the data from an updated backup. However, if no backup is available or backup it self’s corrupted, then you need to use powerful SQL database recovery software.

Consider a practical scenario, where you meet the below error message when you try to access your database:

“Chain sequence numbers are out of order in IAM chain for object ID O_ID, index ID I_ID. Page P_ID1 sequence number SEQUENCE1 points to page P_ID2 sequence number SEQUENCE2.”

Your database records become inaccessible after getting the above error message pops up. The same error message reappears every time when you try to access your database records.

The primary reason for the occurrence of the above error is metadata corruption i.e the sequence numbers of the IAM pages is corrupted.

For complete troubleshooting of the above error message, you need to analyze the exact reason for the corruption of metadata (sequence numbers of IAM pages). If the corruption is due to hardware failure, then change the hardware component. However, in case of software corruption, run DBCC CHECKDB command – with appropriate repair clause – to repair the database.

DBCC CHECKDB command allows complete repair in most cases. But, if the command fails, then the only option is to use advanced SQL Recovery software. Such SQL Database Recovery applications employ high end scanning mechanisms to repair the database.

Friday, January 29, 2010

Clustered Index Corruption in SQL Server Database

You may receive the following error messages in SQL Server:

Server: Msg 3624, Level 20, State 1, Line 1
Location: recbase.cpp:1378
Expression: m_offBeginVar <>
SPID: 51
Process ID: 948
Connection Broken
Or
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionCheckForData (CheckforData()).
Server: Msg 11, Level 16, State 1, Line 0
General network error. Check your network documentation.
Connection Broken

These error messages mostly receive when the user attempts to insert a column to the existing table through INSERT command. If the applied transaction also retains the foreign key reference to the column, which has been affirmed as the exclusive clustered or non-clustered index key on the table, then this could be the reason of this problem. In this situation, the clustered index gets corrupted or damaged. When the added column attempt gets failed, the clustered index can get damaged and all of the data may become inaccessible.

If the clustered index got corrupt, then, no report will be generated by running the DBCC CHECKDB, but the access performance of the database gets degraded and hence you need an instant SQL recovery through the trustworthy tool and choose the best sql database repair software for better results.

The best way out to SQL repair totally, is to make use of the third party applications which are well suited for this situation. In fact, they avail a secure MDF recovery and so are recommended for the best part. With the intuitive user interface, this MDF repair utility helps you to work with its easy process.

Tuesday, January 26, 2010

MDF Corruption Due to OS Errors or I/O Check Failure

Sometimes you may face system or hardware problems while writing data to or reading from the SQL Server 2000 database. These issues can make your database inaccessible and cause serious data loss. In such situations, all your critical data becomes unusable and you need to opt for SQL database recovery.

While reading from or writing to the SQL Server database, you might encounter the below error message:

“Error 823
I/O error detected during at offset in file ''”

This error message may occur every time when you start SQL Server and access the MDF file.

Root of the issue

Microsoft SQL Server 2000 displays this message when any of the below given conditions are true:

* Operating system problem: A read Windows API (Application Programming Interface) call or write API call isn’t successful and MS SQL Server encountered operating system error which is related to API call.
* I/O logical check failure: This behavior may occur if the read API or write API is successful but particular logical checks on database are unsuccessful. This situation prevents SQL Server to access data from MDF file.
* MDF Corruption: This problem may occur if your MDF file is corrupted and thus SQL Server can not recognize the file and access data from it. This behavior causes serious data loss.

Resolution

There are three possible solutions of this issue:

* If the problem is due to operating system error then you need to fix the Windows API issue. It may require repair or reinstall.
* Use DBCC CHECKDB command to check any logical errors in the database. It is an in-built command in SQL Server to fix application level errors.
* Use SQL Database Recovery software to scan the corrupted database and recover all the inaccessible data from it.

These software are specifically designed to repair SQL database in most of the corruption scenarios. These software come equipped with interactive graphical user interface and thus allow you to have ‘Do It Yourself’ recovery.

These software can recover all the MDF file objects including tables, reports, triggers, stored procedures, constraints, indexes, views etc. They provide absolute results with their read-only and non-destructive design.

Tuesday, January 19, 2010

Tips to resolve “Object ID O_ID, index ID...” Error Message

In SQL Server database, the indexes are primarily organized as B-trees. Every page in an index B-tree is known as Index node. These B-trees enable you to effectively handle your data saved in tables and indexes. While these B-trees allow you to properly manage your data, corruption or damage in them can also result into inaccessibility of records saved in the SQL database. In such situations, an easy way to access your data is by restoring it from an updated database backup. However, if no backup is available or backup file(s) itself gets corrupted, then you will need to use advanced SQL recovery tool to repair your database.

As a practical case, you encounter the below error message when you attempt to access the records saved in your Finance database:

“Object ID O_ID, index ID I_ID: Page P_ID is empty. This is not permitted at level LEVEL of the B-tree.”

Data stored in the Finance database becomes inaccessible after the above error message appears. Furthermore, the above error message repeatedly occurs each time you attempt to access the records saved in the Finance database.

Cause:

The root cause for the occurrence of the above error message is the B-tree above the leaf level is empty or corrupted. This further corrupts the table indexes and makes their data inaccessible. Corruption can occur due to logical or physical factors.

Resolution:

To resolve the above error message, you will need to follow the below measures:

· In case of corruption caused due to hardware failure, you will need to run hardware diagnostics and swap the damaged hardware components with new ones.

· In case of logical database corruption, you will need to run DBCC CHECKDB command (without repair clause) to identify the extent of Finance database corruption. After identifying the corruption, run DBCC CHECKDB command with appropriate repair clause.

However, if DBCC CHECKDB with repair clause fails to resolve the issue, then you will need to opt for third party SQL database recovery tool. These SQL recovery developed by highly talented data recovery experts and provide risk-free database repair.