Avatar of sglee
sglee
 asked on

Exchange Database fails to mount

Hi,
 
 I have SBS2011/Exchange 2010 Server  that lost power and the server was turned off.
 When it came back on, the exchange database failed to mount (although public database was mounted).
(1) When I ran ESEUTIL /MH “Mailbox Database.edb”, it showed "State: Dirty Shutdown".
(2) When I ran ESEUTIL /G "Mailbox Database.edb", it said "Checking database integrity.

The database is not up-to-date. This operation may find that this database is corrupt because data from the log files has yet to be placed in the database. To ensure the database is up-to-date please use the 'Recovery' operation. Operation terminated with error -550 (JET_errDatabaseDirtyShutdown, Database was not shutdown cleanly. Recovery must first be run to properly complete database operations for the previous shutdown.)

(3) When I ran Eseutil /ml “C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database\e00”,
 it said "No damaged log files were found."
(4) When I ran ESEUTIL /r E00 /l “C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database” /d “C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database”, I got:

Initiating RECOVERY mode...
    Logfile base name: E00
            Log files: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database
         System files: <current directory>
   Database Directory: C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database

Performing soft recovery...
                      Restore Status (% complete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ......................X
Operation terminated with error -1019 (JET_errPageNotInitialized, Blank database page) after 3.625 seconds.

(5) When I ran ESEUTIL /p “C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database”,  I get the following error.

Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use) after 20.32 seconds.

(6) I rebooted the server a couple of times, but to no avail.

I googled the subject "Cannot access file, the file is locked or in use" and found this:

1.  Recycle the Information Store Services
2.  Make the disk hosting the database offline from diskmanagement.msc and then bring it on line . This would release the lock on the database
 3. Verify if the database is in cleanshutdown state (eseutil /mh databasename). If the database is in dirty 4. shutdown state, run eseutil /r E01(Log file prefix) /l logfile path to replay the log files and make sure the database is in clean shutdown state
5. Mount-database <databasename> if the mount fails Proceed step 5
 6. Disable/Uninstall the antivirus on the server / Verify the AV exclusions
7. hange the log folder name and try mounting the database
8.  If you are not able to change log folder name, Download Procmon and check process locking the log file path
9.  Change the Database Log folder Path and try mounting the database
10. Reboot the server

I am not sure if I should follow the tips above. Can you help?
Exchange

Avatar of undefined
Last Comment
M A

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
Ranjithkumar Rajangam

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
sglee

ASKER
I have done all that. The error message is "Cannot access file, the file is locked or in use".
Ranjithkumar Rajangam

Is that mailbox database you want to verify /mh is mounted?

To run eseutil, make sure the information store is stopped. If you cannot stop Information Store then dismount the particular mailbox database and copy to separate server, copy BIN folder to that server as well.

Then try to run eseutil from the separate server.

Once it completes, move back to original location.
sglee

ASKER
Mailbox database is not mounted. In fact it will not mount.
I did not stop exchange Information store service before running ESEUTIL commands. Let me try the command after stopping Information Store Service.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck
sglee

ASKER
I stopped "Microsoft Exchange Information Store service". The mailbox database fails to mount (so no need to dismount).
The result is the same.

[PS] C:\Program Files\Microsoft\Exchange Server\V14\Bin>eseutil /p "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database"

Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 14.01
Copyright (C) Microsoft Corporation. All Rights Reserved.

Error: Access to source database 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database' failed with J
et error -1032.

Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use) after
20.31 seconds.
sglee

ASKER
I can't move the mailbox database to another server at this point due to its size.
Ranjithkumar Rajangam

Ok, could you try copying the database to separate server, copy BIN folder to that server as well.

Then try to run eseutil from the separate server and check the state.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
sglee

ASKER
"could you try copying the database to separate server, copy BIN folder to that server as well." --> I can't do that at this point due to the size (13GB). I need to go to onsite and copy them onto flash drive and bring it back to my SBS server.
But again I can't do that right at the moment. Maybe this Friday.

Is there any way to unlock this mailbox database?
Ranjithkumar Rajangam

Is any backup exec or AV locking the file? Could you check which program is currently locking the file?
sglee

ASKER
I have webroot anti-virus program running. No backup exec. I do Windows Server backup every Saturdays.
I can't imagine Webroot locking up exchange database file ...
Let me stop it anyway.
Experts Exchange is like having an extremely knowledgeable team sitting and waiting for your call. Couldn't do my job half as well as I do without it!
James Murphy
sglee

ASKER
I stopped webroot and ran
eseutil /p "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database"
but the same error:
Error: Access to source database 'C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database' failed with
et error -1032.

Operation terminated with error -1032 (JET_errFileAccessDenied, Cannot access file, the file is locked or in use) after
20.31 seconds.
sglee

ASKER
I am going to check back in the morning to see if there are more comments about this error.
SOLUTION
M A

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
sglee

ASKER
@MAS
"Please check Exchange database file is excluded from scanning or real time protection. " -->  Please see ID: 42096528 & ID: 42096545 above.
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
sglee

ASKER
Finally I got the database repaired successfully.

When I ran Eseutil /p "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database\Mailbox Database.edb", as usual, I got the following warning. This is where I resorted "Recovery" eseutil commands in the past. But today I decided to ignore the suggestion and let it run the repair.

"The database is not up-to-date. This operation may find that
this database is corrupt because data from the log files has
yet to be placed in the database.

To ensure the database is up-to-date please use the 'Recovery' operation"
M A

@sglee,
Glad to know you fixed it.
Appreciate if you share the command you used to fix the database for future help.

Thanks
MAS
sglee

ASKER
@MAS
I ran Eseutil /p "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database\Mailbox Database.edb". As usual, I got the following warning.

"The database is not up-to-date. This operation may find that
this database is corrupt because data from the log files has
yet to be placed in the database.

To ensure the database is up-to-date please use the 'Recovery' operation"

But this time I decided to ignore the warning and let it run the repair.
This is the best money I have ever spent. I cannot not tell you how many times these folks have saved my bacon. I learn so much from the contributors.
rwheeler23
M A

Thanks for sharing the solution.