Solved

Proactive for Exchange database corruption

Posted on 2015-01-06
18
175 Views
Last Modified: 2015-02-01
I would like to know if there is a way to tell if the database started getting corrupt at the first bit.
I mean it would be nice to tell if the DB has started to get corrupt from the beginning so that you can step in to fix it ?
Initially, I though in Exchange 2010 if the primary copy gets corrupt the data will not replicate to the passive copy, but from reading online I found out I was wrong.

So I need to be alerted when the DB starts getting corrupt and how to fix that ?

Thank you
0
Comment
Question by:jskfan
  • 9
  • 3
  • 2
  • +3
18 Comments
 
LVL 19

Assisted Solution

by:n2fc
n2fc earned 63 total points
ID: 40533748
You can schedule periodic repairs of the database and monitor the progress via the Event Log...

For more info (& "how to's") see the following article:

http://blogs.technet.com/b/exchange/archive/2010/08/23/3410708.aspx
0
 

Author Comment

by:jskfan
ID: 40534025
I believe I will have to have some kind of monitoring system, to tell if database started getting corrupt..
0
 
LVL 53

Assisted Solution

by:Will Szymkowski
Will Szymkowski earned 188 total points
ID: 40534078
There are no absolute way to know if your Exchange database are about to crash. There are however guidelines/best practices to ensure that your Exchange/database are as healthy as they can be. Some of the things I would recommend following are list below...

- Configure Database Maintenance Schedules accodingly (business/backup needs)
- Checking the Logs frequently to ensure database maintenance has completed successfully
- Checking database for free whitespace available (within logs)
- Ensure that your database are not exceeding 400-500GB (there are database maximums but i would tend not to grow your databases this large as it affects backups and performance)
- Monitor Database Growth
- Ensure ExBPA is error free
- Invest in a good monitoring solution like Solarwinds or SCOM
- Check Message Queues to ensure Mail is flowing

Aside from that you can be as proactive as you like there will always be issues that arise. It is where you apply the best practices which help leverage a heathly Exchange/Database environment.

Will.
0
 
LVL 3

Assisted Solution

by:Bahloul
Bahloul earned 125 total points
ID: 40535276
HI,

First of all Backup , and check the below topic it's very useful :--

http://blogs.technet.com/b/exchange/archive/2011/12/14/database-maintenance-in-exchange-2010.aspx

Bahloul
0
 
LVL 1

Assisted Solution

by:Satyendra Tiwari
Satyendra Tiwari earned 62 total points
ID: 40537556
Though, Exchange server automates many common maintenance tasks to get rid such weird issues However, you may refer to this informative resource that covers all the required aspects and provides some helpful tips to keep your exchange server into their best running position : http://windowsitpro.com/systems-management/10-tips-keep-your-microsoft-exchange-server-humming
0
 

Author Comment

by:jskfan
ID: 40542250
I appreciate your advises Guys!
I want to know, at the moment I realize that there is a corruption in a certain database.. what should be my first reactions:

for instance :
-Do not panic (:)
- Suspend the Active Database replication, and dismount the database.
- Follow the steps to do a "Dial tone"
0
 
LVL 3

Assisted Solution

by:Bahloul
Bahloul earned 125 total points
ID: 40542371
Make sure it's not a dirty shutdown of database it can be fixed review this article :-

but before beginning take a backup from it

http://www.msexchange.org/articles-tutorials/exchange-server-2010/management-administration/eseutil-part1.html

then if repaired create a new database and migrate all it's content to the new you , then you are save and grt return back to perform your backup and maintenance .

Bahloul.
0
 

Author Comment

by:jskfan
ID: 40556873
Bahloul.

when there is a corruption in the database, I believe you cannot go right away and start using ESEUTIL. this tool will take forever to repair the database.

Well. to explain it clearly, let' s say  we realized that there is corruption in the database at 1pm today..

So the whole data seeded today will be considered corrupt since we cannot isolate the corrupt data from the good one and repair just the corrupt one.

At this stage we need user to keep using their emails, that 's priority.
if we try to repair the whole database with ESEutil it will take forever.  
SO the best approach if possible, will be to move the database somewhere, isolate just the corrupt data ,and repair just the corrupt data.
That's in theory...I am not sure how to accomplish this ?
It happened to our department in Ukraine one time, I cannot remember the procedure taken to fix it without downtime for end users.
0
 
LVL 32

Assisted Solution

by:Rodney Barnhardt
Rodney Barnhardt earned 62 total points
ID: 40572566
Jskfan,

As others have mentioned, there is no way to be notified exactly when a database becomes corrupt. There are many ways data can be corrupted. At first, the database may continue to work just fine for hours or more. You can implement some tools like System Center with the Exchange pack to improve notification. However, the best solution is to always have a backup of your data. There are things you can do to improve your recovery time and protect from a fatal database problem. One is to keep multiple DAG copies, with one DAG on at least a 24 hour delay. This would give you 24 hours to realize a database corruption, and still have a clean copy to mount. I have even seen some recommendations to keep one at 48 or even 72 hours to cover a weekend. With this type of configuration, Microsoft claims there is not even a need to backup Exchange 2010 or 2013. While I do not buy into this premise, it is supposedly a process they use and never backup their Exchange servers. I wrote an article about this a year or so ago:

http://www.experts-exchange.com/Software/Server_Software/Email_Servers/Exchange/A_13638-Microsoft-Claims-No-Need-to-Backup-Exchange-2013.html

If you are running Exchange in a virtual environment, there are third party, application aware products such as Xerto that will take snapshots of the system at specific time intervals. This would also allow for a quick recovery with the least amount of lost email.

Once again, as others have said, there is no way to tell the moment an Exchange database becomes corrupt until there is some type of interruption.
0
 

Author Comment

by:jskfan
ID: 40574225
I replied to Bahloul on my comment : ID: 40556873
it is about after realizing there is a corruption what are the steps to take to get users going while you are cleaning the corruption OR whether there is a better approach ?
0
 

Author Comment

by:jskfan
ID: 40581502
I Thought about Dial Tone recovery, while in the meantime  using ESEUtil to remove the corrupt data....This the classic way, but it takes too long....
Any better approach?
0
 
LVL 53

Assisted Solution

by:Will Szymkowski
Will Szymkowski earned 188 total points
ID: 40581595
Dial Tone Recovery is a good method to get your users a mailbox again to start sending and receive mail. However the recovery is tricky when using this. You will need to reply the logs before the corruption and then you will also need to take another backup of the mail items they have accumulated while using the dial tone mailbox.
performing a dial tone recovery

Will.
0
 

Author Comment

by:jskfan
ID: 40581825
First...I need to know if Dial tone is the right procedure to go for, in case there is corruption in the database, may be there is a better approach to opt for...do you know of any better approach ?

Second....you mentioned the replay of the logs before corruption. If they are already committed to the database then I believe it is purposeless to replay them.
for the logs that are not committed after we realized that the database is corrupt then I believe we 'll need to do a full backup so that the logs will be committed, then we'll dismount the database and run ESEUtil to repair it.
0
 

Author Comment

by:jskfan
ID: 40582455
I was talking to an Exchange Admin, about how to be proactive when a mailbox or database gets corrupted...his approach was:

Create a Spare Mailbox database ahead of time, one Active and one Passive......do not put any mailbox in it.

When you realize there is a corruption in any of mailbox databases that are in production, then, Restore from last night backup to the spare Mailbox database, that way users will still be able to work and the only thing they will be missing are the emails from today..
Dismount the corrupted database and repair it with ESEUtil or ISinteg..

I wonder if this can be a good approach, easier than dial tone. ?
0
 

Author Comment

by:jskfan
ID: 40582482
I believe Exchange 2010/2013 came up with a tool to repair individual mailbox as well as mailbox database:
https://technet.microsoft.com/en-us/library/ff625221(v=exchg.141).aspx
0
 
LVL 53

Accepted Solution

by:
Will Szymkowski earned 188 total points
ID: 40582525
I would like to know if there is a way to tell if the database started getting corrupt at the first bit.

Your initial question is in regrads to being Proactive. Everything you mention above is a reactive measure (dealing with something after it has happened), that is not being proactive it is reactive.

So that being said there are several things you can do as best practices to ensure your databases/mailboxes/servers are healthy. However natively there is no way to tell if your database will be come corrupt.

You check the database maintenance logs and check to see if there are any logs that state integrity issues etc but live production monitoring is not possible natively.

Following best practice guidelines and also monitoring on a daily basis will help prevent database corruption. Also making sure that you do not have disks errors will also help be proactive.

Will.
0
 

Author Closing Comment

by:jskfan
ID: 40582648
Thank you Guys
0

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
AD reporting and update tool 9 50
Secondary DC 3 15
IT Contract Fee 17 75
Is it safe to Allow Malformed MIME? 5 21
OfficeMate Freezes on login or does not load after login credentials are input.
Learn to move / copy / export exchange contacts to iPhone without using any software. Also see the issues in configuration of exchange with iPhone to migrate contacts.
The video tutorial explains the basics of the Exchange server Database Availability groups. The components of this video include: 1. Automatic Failover 2. Failover Clustering 3. Active Manager
This video discusses moving either the default database or any database to a new volume.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now