Wednesday, February 10, 2010

Resolving “Extent E_ID in database” Error Message

The records saved in a SQL Server database table is divided into various pages, such as GAM (Global Allocation Map) , SGAM (Secondary Global Allocation Map), and IAM (Index Allocation Map). A GAM page comprises of one bit per extent for all the mapped extents in a file interval. An SGAM page is exactly similar to GAM page, the only difference being that every set bit is equal to an extent, in which these pages are individually assigned to IAM pages. An IAM page consists of one bit per dedicated extent. The values saved in the Extents can be get corrupted, if there is any logical corruption in the SQL database. In such scenarios, the database records saved in the tables become inaccessible. Furthermore, you also receive an error message while opening the table. In such cases, the database records saved in the table can be accessed by restoring the table from an up-to-date backup. But, in case of backup unavailability, you will need to opt for powerful SQL Database Recovery utility.

Consider a practical situation, where you receive the below error message while opening a SQL table:

“Extent E_ID in database ID DB_ID is allocated in both GAM GAM_P_ID and SGAM SGAM_P_ID.”

The above error message makes the table records inaccessible.


The above error message occurs under following circumstances:

Extent is mixed and dedicated.
Extent is unallocated and dedicated.
Extent is unallocated, mixed, and dedicated.
Extent is unallocated and mixed.


The resolution for the above error message (either due to logical or physical corruption) is discussed below:

Table corrupted due to physical damage required changing of physically damaged component. To identify the damaged component, check the SQL Server and operating system logs.
Table corruption, if occurred due to logical crash, requires you to run DBCC CHECKDB statement without the repair clause. This step enable you identify the exact extent of corruption. Then you will need to search for exact repair clause and run with DBCC CHECKDB command. However, if the error message sustains even after running the above command, then you will need to use advanced SQL Recovery utility. Such SQL Repair tools are readily available on the Internet.

SQL Recovery is one of the finest SQL Database Repair application that repairs SQL Server 2008, 20005, and 2000 database tables and other database components. It is designed for Windows 7, Vista, 2008, XP, 2003, and 2000 operating systems.

Resource Taken From :-

No comments:

Post a Comment