Microsoft KB Archive/812452

From BetaArchive Wiki
Knowledge Base


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 "N:\exchsrvr\mdbdata\msb1.edb" at offset 7429582848 (0x00000001bad67000) for 4096 (0x00001000) bytes failed with system error 21 (0x00000015): "The device is not ready.". 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 "SG\msb1".

  • ID 482
    Category: Error
    Source: ESE
    Description: Information Store (PID #) An attempt to write to the file "N:\exchsrvr\mdbdata\msb1.edb" at offset 4398600192 (0x00000001062d5000) for 12288 (0x00003000) bytes failed with system error 21 (0x00000015): "The device is not ready." 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 "SG\msb" was stopped.

  • ID: 104
    Category: General
    Source: ESE
    Description: The database engine stopped the instance (1) with error (-1022).


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


REFERENCES

For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:

264228 XADM: Storage Group Does Not Mount with -1216


271987 XADM: Overview of Exchange Server Database Architecture and Database Engine


Keywords: kberrmsg kbprb KB812452