Logo
programming4us
programming4us
programming4us
programming4us
Home
programming4us
XP
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server
programming4us
Windows Phone
 
Windows Server

Recovering from a Disaster in an Exchange Server 2007 Environment : Recovering from Database Corruption

- Free product key for windows 10
- Free Product Key for Microsoft office 365
- Malwarebytes Premium 3.7.1 Serial Keys (LifeTime) 2019
5/7/2012 3:51:21 PM
If an Exchange database is corrupt, it is not extremely effective to restore the corrupt database to a production server. The server might continue to operate, but database corruption never goes away on its own, and you eventually will have to repair the database. In fact, when minor database corruption is not repaired, the corruption can get to the point that entire sections of the Exchange database become inaccessible.

A couple of methods can be used to repair a corrupt Exchange database, or at least restore the database and extract good information from the database. Key to the successful recovery of as much information as possible is using the right tool. In many cases, administrators jump right into using the ESEUTIL /p repair command; instead of repairing the Exchange database to 100% condition, the utility finds a corrupt section of the database and deletes all information from that portion of the database on. So, although the Exchange system becomes 100% clean, the utility deleted 20%–30% of the data that was in the database to get the database to a clean state. The ESEUTIL /P command is the task of last resort: Other tools work around corrupt database areas and allow the administrator to recover as much of the data as possible.

Exchange 2007 makes this process easier for the new administrator by introducing the Database Recovery Management tool that will analyze the failed databases for the administrator and choose what tools to run against them.

Using the Database Recovery Management Tool

Exchange 2007 brings several new tools to make life easier for the Exchange administrator. The new Database Recovery Management tool automates many of the processes of evaluating corrupted databases and repairing them. To utilize this tool with a corrupted database, perform the following steps:

1.
Open EMC.

2.
Expand tools.

3.
Choose Database Recovery Management.

4.
Let the tool check for updates.

5.
Choose the Go to Welcome screen.

6.
Type in a label for this activity.

7.
Enter server and domain controller names, and click Next.

8.
If the connectivity tests are acceptable, click Gather Database Information from AD.

9.
Click Troubleshoot Database Mount Problem.

10.
Select the storage group you want to troubleshoot, and click Next.

11.
Select the database you are troubleshooting, and click Analyze Selected Databases.

12.
View the information given.

13.
Click Go Back to Task Center.

14.
Click Repair Database Wizard.

15.
Select the storage group, and click Next.

16.
Select the database and click Next.

17.
View the repair results as shown in Figure 1.

Figure 1. Viewing the repair results.

18.
Click Go Back to Task Center.

19.
Close the Troubleshooting Assistant.

Flat-File Copying the Exchange Databases

One of the best techniques Exchange experts use when working to recover corruption in a database is to make a flat-file copy of the Exchange databases. A flat-file copy is merely an exact copy of the Exchange databases copied to another portion of the server hard drive or to another server. To do a manual copy of the databases, do the following:

1.
Dismount the Exchange database stores by going into the Exchange System Manager. Traverse the tree past Administrative Groups, Servers, Storage Group. Right-click on the mailbox store, and select Dismount Store.

2.
Dismount the store for all mailbox stores you will be working on.

3.
Copy (using Windows Explorer, or XCOPY) the *.edb files to a safe location.

Note

If the databases need to be manually restored, a simple XCOPY (or Windows Explorer copy) of the databases back to the original subdirectories will bring the data back to the condition the databases were in at the time the databases were copied off the system. If the Exchange databases were properly dismounted before they were copied, the logs would have already been committed to the database and the database can be remounted exactly where it left off.


Moving Mailboxes to Another Server in the Site

One way of extracting mail from a corrupt database is to move the mailbox or mailboxes to a different server in the site. Instead of trying to run utilities to fix the corruption in the database, which can take several hours (or even days, depending on the size of the database and the amount of corruption that needs to be fixed), an administrator can set up another server in the Exchange site and move the mailboxes to a new server.

Moving mailboxes grabs all of the mail, calendar, contacts, and other mailbox information from one server and moves the information to a new server. As the information is written to the new server, the information is automatically defragmented and corruption is not migrated. In addition, mailboxes can be moved from one server to another without ever having to bring down the production server. A mailbox user must be logged off Outlook and must not be accessing Exchange before the mailbox can be moved. However, if mailboxes are moved when individuals are out of the office, at lunch, or on weekends, the mailboxes can be moved without users ever knowing that their information was moved from one system to another.

The two caveats to moving mailboxes are these: Corrupt mailboxes will not move, and user Outlook profiles will be changed. For Outlook profiles, because a user’s Outlook profiles point to a specific server, when a mailbox is moved from one server to another, the user’s profile also needs to point to the new server. Fortunately, with Exchange and Outlook, when a user’s mailbox is moved, Outlook tries to access the mailbox on the original server, and the server notifies Outlook that the mailbox has been moved to a new Exchange server. The user’s Outlook profile automatically changes to associate the profile to the new server where the user’s mailbox resides. So, as long as the old server remains operational and the user attempts to access email from the old server, the profiles will be automatically changed the next time the user tries to access email. Typically, within 1 to 2 weeks after moving mailboxes from one server to another, the user profiles are all automatically changed.

As for corrupt mailboxes, unfortunately, Exchange typically does not move a corrupt mailbox. So, if a user’s mailbox has been corrupted, the mailbox will remain on the old server. However, if 80%–90% of the user mailboxes can be moved to a new server, the administrators are trying to recover only a handful of mailboxes instead of all mailboxes on a server. This could mean far less downtime for all users who had mail on the server and could limit the exposure of data loss to a limited number of users. It will also result in much faster results when running the database recovery tools as the database will be much smaller.

To move mailboxes between servers in a site, do the following:

1.
Open the Exchange Management Console.

2.
Expand Recipient Configuration and click Mailbox.

3.
Highlight the mailboxes to be moved.

4.
From the Action menu, choose Move Mailbox.

5.
The Move Mailbox tool launches. Select the destination for the mailbox to be moved, and click Next.

6.
Choose how you want the tool to deal with corrupted messages, and click Next.

7.
Choose to either move the mailbox immediately or to be scheduled for a later time. Click Next.

8.
Review the proposed changes and if you are satisfied that they are correct, click Move.

9.
Review the results of the mailbox move, and click Finish to complete the move.

Running the ISINTEG and ESEUTIL Utilities

When a database is determined to be corrupt, usually an administrator is directed to run the built-in utilities on Exchange to run maintenance on the databases. The utilities are the ISINTEG (“eye-ess-in-tehg”) and ESEUTIL (“ee-ess-ee-u-tihl”). However, depending on the condition of the database, a very corrupt database can take several hours to run, only to result in the loss of data. Some administrators are incorrectly told to never run the utilities because they will always result in loss of data. It’s typically just a lack of knowledge of how the utilities work that leads to misunderstanding the potential results of the databases.

As noted in the previous two sections, there might be better options for recovering information from a corrupt database. Instead of trying to fix a known corrupt database, simply migrating the information off a server or extracting information from corrupt databases is frequently a better fix. However, if the determination is to run the utilities, a few things should be noted:

  • The ISINTEG utility is a high-level utility that checks the consistency of the database, validating the branches of the database that handle data, data directory tables, attachment objects, and the like. Fixing the database table makes way for a more intensive data integrity check of the database.

  • The ESEUTIL utility is a low-level utility that checks the data within the database. ESEUTIL does not differentiate between a corrupt section of the database and how that section impacts mailboxes or messages. So, when a complete repair is performed using ESEUTIL, entire mailboxes can be deleted or all attachments for the entire database can be eliminated to fix the corruption. This is why running ESEUTIL to repair a database is a function of last resort.

  • To run ISINTEG on a database takes around 1 hour for every 10GB being scanned for a moderately corrupt database. The repairs are done relatively quickly, and the database is ready for more extensive scanning.

  • Running ESEUTIL on a database takes anywhere from 1 hour for every 10GB to up to 1 hour per 1GB, depending on the level of repair being performed. It is not unreasonable to see a relatively corrupt 30-GB database take more than 24 hours to complete the repair.

  • ISINTEG and ESEUTIL can be performed only offline, meaning that the Exchange server is offline during the process. Users cannot access their mailboxes during the ISINTEG and ESEUTIL processes. Thus, if it takes 20 to 40 hours of downtime to complete the repair of a database, the Move Mailbox method that can be run without bringing servers offline is frequently a more palatable solution.

  • However, if run on a regular basis, the ISINTEG and ESEUTIL utilities can clean up an Exchange database before serious corruption occurs. Administrators who get scared off performing maintenance because of the potential threat of losing data could actually minimize their chance of data corruption if the utilities are run regularly. 

The common parameters used for the ISINTEG and ESEUTIL utilities are as follows. For regular maintenance such as checking the database structure’s integrity and performing defragmentation of the database, the following commands should be run:

isinteg –s SERVERNAME –test allfoldertests
eseutil /d priv1.edb

When run against an Exchange server, the ISINTEG utility produces a summary similar to the one in Figure 2.

Figure 2. Results from an ISINTEG utility run.

Note

The ISINTEG and ESEUTIL utilities typically reside in the \Program Files\Exchsrvr\Bin directory of the Exchange server. The databases that are typically specified in ESEUTIL are the priv1.edb and pub1.edb. However, if an organization has multiple database and storage groups, several databases might need to be checked separately for integrity.


When a database needs to be repaired, eseutil /p priv1.edb can be run. Beware: The /p repair command is a brute-force repair and deletes sections of the database to make the integrity of the database clean. A message provides an additional warning about ESEUTIL, as shown in Figure 3. When running the /p command in ESEUTIL, entire sections of the database might be deleted to repair and recover the state of the database.

Figure 3. Running ESEUTIL /p.


Note

Prior to a disaster, if the ISINTEG or ESEUTIL utilities have not been run against an Exchange database for a long period of time, restore the database from tape to an Exchange server in a lab environment to run tests. These tests can tell you how much corruption might be present as well as give an indication of how long it might take to repair the database.

Other -----------------
- Windows Server 2008 Server Core : Testing Batch Files (part 2) - Identifying Batch Files and Their Actions & Using a Centralized Data Store
- Windows Server 2008 Server Core : Testing Batch Files (part 1) - Adding Debug Information to Batch Files
- Microsoft Dynamics AX 2009 : Working with Data in Forms - Building selected or available lists
- Microsoft Dynamics AX 2009 : Working with Data in Forms - Creating custom instant search filters
- Sharepoint 2007 : Managing Site Security - Set Users’ Permissions on a Site (part 2) - Add Users’ Permissions Directly to or Remove Them from a Site
- Sharepoint 2007 : Managing Site Security - Set Users’ Permissions on a Site (part 1) - Add or Remove Users in a SharePoint Group
- Sharepoint 2007 : Managing Site Security - Get to the Site’s Security Settings Page
- Microsoft Systems Management Server 2003 : Defining and Configuring Site Systems (part 4) - Management Points, Reporting Points & Server Locator Points
- Microsoft Systems Management Server 2003 : Defining and Configuring Site Systems (part 3) - Distribution Points
- Microsoft Systems Management Server 2003 : Defining and Configuring Site Systems (part 2) - Client Access Points
 
 
Top 10
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 2) - Wireframes,Legends
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Finding containers and lists in Visio (part 1) - Swimlanes
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Formatting and sizing lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Adding shapes to lists
- Microsoft Visio 2013 : Adding Structure to Your Diagrams - Sizing containers
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 3) - The Other Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 2) - The Data Properties of a Control
- Microsoft Access 2010 : Control Properties and Why to Use Them (part 1) - The Format Properties of a Control
- Microsoft Access 2010 : Form Properties and Why Should You Use Them - Working with the Properties Window
- Microsoft Visio 2013 : Using the Organization Chart Wizard with new data
 
programming4us
Windows Vista
programming4us
Windows 7
programming4us
Windows Azure
programming4us
Windows Server