Monday, October 13, 2014

Exchange 2010 - DAG (Database Availability Group) - corrupted search catalog - reseed

Sometimes elements of a mailbox database can become damaged or "corrupt".

One advantage of the DAG is that we can "reseed" the damaged copy of the database using the remaining good copy (or one of the good copies if there are more than two DAG nodes). In other words, we essentially overwrite the bad data with good data.

Recently, I had to recover from a "corrupted search catalog".

This is what appeared in the Application Log of the Event Viewer:


EventID: 123
Source: ExchangeStoreDB
Level: Error

At '[date and time here]' the Microsoft Exchange Information Store Database 'DB1' copy on this server experienced a corrupted search catalog. Consult the event log on the server for other "ExchangeStoreDb" and "MSExchange Search Indexer" events for more specific information about the failure. Reseeding the catalog is recommended via the 'Update-MailboxDatabaseCopy' task.


The description mentions the action to take: reseed the catalog with the Update-MailboxDatabaseCopy cmdlet.

This cmdlet typically overwrites the entire database (which would be appropriate if the entire database was damaged). This might seem excessive when only the search catalog is affected.

Fortunately... there is a -CatalogOnly parameter.

Update-MailboxDatabaseCopy DB1\EX13-2 -CatalogOnly


I thought it might be necessary to suspend replication, as is the case for a complete database reseed. This may not be the case. Such an operation is mentioned in the documentation for database updates in general but not for catalog only updates in particular. I thought I would attempt to reseed the catalog directly (without suspending replication):


[PS] C:\>Update-MailboxDatabaseCopy DB1\EX13-2 -CatalogOnly

This operation apparently completed: there was no error message - or any message at all. Usually, with Powershell, this means that everything is OK.


If it was necessary to suspend replication, this is the command:

[PS] C:\>Suspend-MailboxDatabaseCopy DB1\EX13-2

We confirm when prompted and then execute this command (the same as above):

[PS] C:\>Update-MailboxDatabaseCopy DB1\EX13-2 -CatalogOnly

We can then resume replication:

[PS] C:\>Resume-MailboxDatabaseCopy DB1\EX13-2


References:

EventID 123 - ExchangeStoreDB

Reseed the Search Catalog

Update-MailboxDatabaseCopy

Suspend or Resume a Mailbox Database Copy

1 comment:

  1. We indicate the copy of the database with the problem, using the source server parameter if necessary to designate the source.

    ReplyDelete