Microsoft KB Archive/812452

= XADM: All Databases in the Storage Group Are Dismounted When One Database Becomes Unavailable =

Article ID: 812452

Article Last Modified on 10/27/2006

-

APPLIES TO


 * Microsoft Exchange 2000 Server Standard Edition

-



SYMPTOMS
In a storage group with two or more databases, and where each database is on a separate physical hard disk, all the databases in the storage group are dismounted if one hard disk fails.



CAUSE
This issue occurs if one of the databases in a storage group is not available.



RESOLUTION
To resolve this issue, replace the failed hard disk and restore the missing database from a backup to the new hard disk.



MORE INFORMATION
Exchange is a transaction-based messaging system, and the information store is a transactional database. An Exchange database must commit a transaction completely. If not, it will roll the transaction back out of the database. This is known as a rollback. To optimize predictable behavior, transactions comply with the ACID model: atomic, consistent, isolated, and durable. All transactions must possess these basic properties, reinforcing the role of mission-critical transactions as all-or-none propositions:
 * Atomic: A transaction must run exactly one time and must be atomic—either all of the work is performed or none of it is performed. Operations in a transaction generally share a common intent and are interdependent. By completing only a subset of these operations, the system may compromise the overall intent of the transaction. The atomic property eliminates the chance of processing only a subset of operations.
 * Consistent: A transaction must preserve the consistency of data, transforming one consistent state of data into another consistent state of data. Much of the responsibility for maintaining consistency falls to the program developer.
 * Isolated: A transaction must be a unit of isolation, which means that concurrent transactions should behave as if each were the only transaction running on the system. Because a high degree of isolation may limit the number of concurrent transactions, some programs reduce the isolation level in exchange for better throughput.
 * Durable: A transaction must be recoverable and therefore durable. If a transaction commits, the system guarantees that its updates can persist even if the computer stops responding (crashes) immediately after the commit. Specialized logging permits the system's restart procedure to complete unfinished operations required by the transaction, making the transaction durable.

Based on the ACID model, the Extensible Storage Engine (ESE) tracks all database transactions in the log files for the storage group. In Exchange 2000, the whole storage group (for example, databases, transaction logs, and other elements) is considered an Instance of ESE.

The ESE makes sure that all databases in a storage group can reach a consistent state of recovery. If the ESE (storage group) is ever in a situation where a rollback cannot be carried out, and even if ESE does not try to perform a rollback, ESE dismounts all databases in the storage group until there is a resolution to the problem that prevents a rollback from occurring. To do this, ESE keeps track of all databases in the log files for the storage group.

In Exchange 2000, the following five errors cause ESE to dismount the databases in the storage group if a rollback cannot be performed:
 * JET_errLogDiskFull
 * JET_errRollbackError
 * JET_errLogWriteFail
 * JET_errInstanceUnavailable
 * JET_errDiskIO

When these errors occur, the following error messages are logged in the Event Viewer application log:  

ID: 481

Category: Error

Source: ESE

Description: Information Store (PID #) An attempt to read from the file &quot;N:\exchsrvr\mdbdata\msb1.edb&quot; at offset 7429582848 (0x00000001bad67000) for 4096 (0x00001000) bytes failed with system error 21 (0x00000015): &quot;The device is not ready.&quot;. The read operation will fail with error -1022 (0xfffffc02). If this error persists then the file may be damaged and may need to be restored from a previous backup.

 

ID 1159

Category: General

Source: MSExchangeIS

Description: Database error Disk IO error occurred in function JTAB_BASE::EcSetColumn while accessing the database &quot;SG\msb1&quot;.

 

ID 482

Category: Error

Source: ESE

Description: Information Store (PID #) An attempt to write to the file &quot;N:\exchsrvr\mdbdata\msb1.edb&quot; at offset 4398600192 (0x00000001062d5000) for 12288 (0x00003000) bytes failed with system error 21 (0x00000015): &quot;The device is not ready.&quot; The write operation will fail with error -1022 (0xfffffc02). If this error persists, the file may be damaged and you may have to restore it from a previous backup.



For each database in the storage group, you will receive the following error messages:  

ID: 9539

Category: General

Source: MSExchangeIS Mailbox

Description: The Microsoft Exchange Information Store Database &quot;SG\msb&quot; was stopped.

 

ID: 104

Category: General

Source: ESE

Description: The database engine stopped the instance (1) with error (-1022).

</li></ul>

If one of these errors occurs, the ESE dismounts all the databases in the storage group.

<div class="references_section">