Microsoft Exchange 2016 Database not Mounting

Microsoft Exchange

We had an issue where a recent Windows update broke the Exchange Server, luckily booting into safe mode and removing it resolved the issue, however although the databases mounted okay, there was one that did not.

We attempted the typical ESEUTIL steps because it was reporting “dirty shutdown”, and got the database back to a “Clean Shutdown” state however it still would not mount giving errors as below:

> mount-database inactive-mailboxes-1601a

Failed to mount database "inactive-mailboxes-1601a". Error: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message:
MapiExceptionDatabaseError: Unable to mount database. (hr=0x80004005, ec=1108)
Diagnostic context:
    Lid: 65256
    Lid: 10722   StoreEc: 0x454
    Lid: 1494    ---- Remote Context Beg ----
    Lid: 1238    Remote Context Overflow
    Lid: 41344   Guid: 42824bf0-2578-4f35-bc93-0d8e8f1bf5e7
    Lid: 35200   dwParam: 0x62F8
    Lid: 59596   dwParam: 0x9D44CD   Msg: JI20
    Lid: 43212   dwParam: 0x9D44CD   Msg: JT05
    Lid: 43212   dwParam: 0x9D44CD   Msg: JT08
    Lid: 59596   dwParam: 0x9D44CD   Msg: WM19
    Lid: 59596   dwParam: 0x9D44CD   Msg: WM20
    Lid: 59596   dwParam: 0x9D44CD   Msg: WM21
    Lid: 54472   StoreEc: 0x980
    Lid: 42184   StoreEc: 0x454
    Lid: 10786   dwParam: 0x0        Msg: 15.01.2507.039:exchange01a:42824bf0-2578-4f35-bc93-0d8e8f1bf5e7
    Lid: 51578   Guid: 42824bf0-2578-4f35-bc93-0d8e8f1bf5e7
    Lid: 1750    ---- Remote Context End ----
    Lid: 1047    StoreEc: 0x454      [Database: Inactive-Mailboxes-1601a, Server: exchange01b.domain.com]
    + CategoryInfo          : InvalidOperation: (Inactive-Mailboxes-1601a:ADObjectId) [Mount-Database], InvalidOperationException
    + FullyQualifiedErrorId : [Server=exchange01a,RequestId=74b6ae14-4a3d-4238-841b-25670994f38d,TimeStamp=04/11/2024 11:23:31] [FailureCategory=Cmdlet-InvalidOperationExcepti
   on] F5FB5936,Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase
    + PSComputerName        : exchange01a.domain.com

The ESEUTIL output showed that nothing was wrong:

[PS] Y:\Inactive-Mailboxes-1601a>eseutil /mh .\Inactive-Mailboxes-1601a.edb
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 15.01
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating FILE DUMP mode...
         Database: .\Inactive-Mailboxes-1601a.edb
DATABASE HEADER:
Checksum Information:
Expected Checksum: 0x6023550c
  Actual Checksum: 0x6023550c
Fields:
        File Type: Database
         Checksum: 0x6023550c
   Format ulMagic: 0x89abcdef
   Engine ulMagic: 0x89abcdef
 Format ulVersion: 0x620,60,120  (attached by 9040)
 Engine ulVersion: 0x620,60,120  (efvCurrent = 9040)
Created ulVersion: 0x620,20
     DB Signature: Create time:10/30/2024 09:34:13.587 Rand:2467144222 Computer:
         cbDbPage: 32768
           dbtime: 525704228 (0x1f559c24)
            State: Clean Shutdown
     Log Required: 0-0 (0x0-0x0)
    Log Committed: 0-0 (0x0-0x0)
   Log Recovering: 0 (0x0)
   Log Consistent: 0 (0x0)
  GenMax Creation: 00/00/1900 00:00:00.000 LOC
         Shadowed: Yes
       Last Objid: 103990
     Scrub Dbtime: 0 (0x0)
       Scrub Date: 00/00/1900 00:00:00.000 LOC
     Repair Count: 2
      Repair Date: 10/30/2024 09:34:13.587 UTC
 Old Repair Count: 0
  Last Consistent: (0x0,0,0)  11/04/2024 10:48:07.595 UTC
      Last Attach: (0x0,0,0)  11/04/2024 10:28:30.904 UTC
      Last Detach: (0x0,0,0)  11/04/2024 10:48:07.595 UTC
    Last ReAttach: (0xDF051,2,268)  10/25/2024 09:23:00.173 UTC
             Dbid: 1
    Log Signature: Create time:00/00/1900 00:00:00.000 Rand:0 Computer:
       OS Version: (6.2.9200 SP 0 NLS 6020e.6020e)
Previous Full Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00.000 LOC
Previous Incremental Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00.000 LOC
Previous Copy Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00.000 LOC
Previous Differential Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00.000 LOC
Current Full Backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00.000 LOC
Current Shadow copy backup:
        Log Gen: 0-0 (0x0-0x0)
           Mark: (0x0,0,0)
           Mark: 00/00/1900 00:00:00.000 LOC
     cpgUpgrade55Format: 0
    cpgUpgradeFreePages: 0
cpgUpgradeSpaceMapPages: 0
       ECC Fix Success Count: none
   Old ECC Fix Success Count: none
         ECC Fix Error Count: none
     Old ECC Fix Error Count: none
    Bad Checksum Error Count: none
Old bad Checksum Error Count: none
  Last Database Maintenance Finish Date: 00/00/1900 00:00:00.000 LOC
Current Database Maintenance Start Date: 07/05/2023 13:32:18.984 UTC
      Highest Continuous Database Maintenance Page: 0
      Highest Database Maintenance Page: 0
  Database Header Flush Signature: Create time:11/04/2024 10:48:07.595 Rand:2840687694 Computer:
 Flush Map Header Flush Signature: Create time:11/04/2024 10:48:07.595 Rand:1590799241 Computer:
Operation completed successfully in 0.93 seconds.

Resolution

To resolve the issue in this case we renamed the transaction log directory used by the database to add “-old” to the end, then created a new directory with the original name.

Then attempted to mount the database with:

[PS] Y:\Inactive-Mailboxes-1601a>Mount-Database inactive-mailboxes-1601a

The database then mounted successfully without the error. It appears that something within the log file chain (which should have been detached) was causing an issue, as the database was showing as clean shutdown, its essentially detached from its log chain so these log files are not supposed to be needed to mount. Making sure it can’t by moving the old files away seems to have resolved it.

Leave a Reply

Your email address will not be published. Required fields are marked *