Server 2008 R2 - Exchange Server 2010 SP3
I have a failed raid 5 Virtual disk and a disk IO failure on one drive, I cant add hdd's to the array due to the raid error, how can I move the Exchange Server database to another server. We have setup a new server from scratch and added Exchange Server 2010 SP3 that we want to transfer to but the database is saying corrupt and I need to move it somehow.
The physical Disk errors are:
How can I repair the errors and move the database from one server to another, I can't repair the raid so if i added a USB drive to the server and moved the database to that would that allow me to make the repair? The database is arount 33GB with 9 users.
Unfortunately we have been left in a mess with this server and we have no backups available, Please help!
The errors are:
ERROR Event ID 233 At '30/11/2017 12:52:54', database copy 'Mailbox Database 1674280758' on this server encountered an error. For more information, consult the Event log for "ExchangeStoreDb" or "MSExchangeRepl" events.
ERROR Event ID 474 Information Store (2256) Mailbox Database 1674280758: The database page read from the file "C:\Program Files\Microsoft\Exchange Server\V14\Mailbox\Mailbox Database 1674280758\Mailbox Database 1674280758.edb" at offset 35890987008 (0x000000085b450000) (database page 1095305 (0x10B689)) for 32768 (0x00008000) bytes failed verification due to a page checksum mismatch. The expected checksum was [364c67614b536c4f:774e4273524c7036:665268367a536630:716f6b7230593142] and the actual checksum was [77737773a0144fb4:2225dddab9ba49f7:932a6cd5c9e4ea5e:5f0b5f0be852af99]. The read operation will fail with error -1018 (0xfffffc06). If this condition persists then please restore the database from a previous backup. This problem is likely due to faulty hardware. Please contact your hardware vendor for further assistance diagnosing the problem.
WARNING Event ID 107 Exchange Search Indexer has temporarily disabled indexing of the Mailbox Database Mailbox Database 1674280758 (GUID = df7ac33a-6ce1-4009-8e9b-8af5aa00acbd) due to an error (Microsoft.Mapi.MapiExceptionJetErrorReadVerifyFailure: MapiExceptionJetErrorReadVerifyFailure: Unable to update CI Retry table (hr=0x80004005, ec=-1018) Diagnostic context: Lid: 1494 ---- Remote Context Beg ---- Lid: 46077 dwParam: 0xAEE37 Lid: 46121 StoreEc: 0x8004010F Lid: 55351 StoreEc: 0x8004010F Lid: 53889 StoreEc: 0x8004010F Lid: 59447 StoreEc: 0x8004010F Lid: 43923 dwParam: 0xAEE37 Lid: 46077 dwParam: 0xAEE37 Lid: 46121 StoreEc: 0x8004010F Lid: 55351 StoreEc: 0x8004010F Lid: 53889 StoreEc: 0x8004010F Lid: 59447 StoreEc: 0x8004010F Lid: 43923 dwParam: 0xAEE37 Lid: 46077 dwParam: 0xAEE37 Lid: 46121 StoreEc: 0x8004010F Lid: 55351 StoreEc: 0x8004010F Lid: 53889 StoreEc: 0x8004010F Lid: 59447 StoreEc: 0x8004010F Lid: 43923 dwParam: 0xAEE37 Lid: 46077 dwParam: 0xAEE37 Lid: 46121 StoreEc: 0x8004010F Lid: 55351 StoreEc: 0x8004010F Lid: 53889 StoreEc: 0x8004010F Lid: 59447 StoreEc: 0x8004010F Lid: 43923 dwParam: 0xAEE37 Lid: 13300 StoreEc: 0xFFFFFC06 Lid: 61505
Lid: 22610 StoreEc: 0xFFFFFC06 Lid: 52115 dwParam: 0x9724B Lid: 4000 StoreEc: 0xFFFFFC06 Lid: 16793 StoreEc: 0xFFFFFC06 Lid: 14126 StoreEc: 0xFFFFFC06 Lid: 1750 ---- Remote Context End ---- Lid: 10098 StoreEc: 0xFFFFFC06 Lid: 20226
Lid: 15346 StoreEc: 0xFFFFFC06 at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, SafeExInterfaceHandle iUnknown, Exception innerException)
at Microsoft.Mapi.ExRpcAdmin.CiUpdateRetryTable(Guid mdbGuid, Guid instanceGuid, UInt32 documentIds, Guid mailboxGuids, Int32 hresults, Int16 initialStates) at Microsoft.Exchange.Search.PropertyStore.UpdateRetryTable(PropertyStore ps, UInt32 docIds, Guid mailboxGuids, Int32 hresults, Int16 initialStates, Object& unusedOut1, Object& unusedOut2) at Microsoft.Exchange.Search.PropertyStore.DoRetriableOperation[InParameter1Type,InParameter2Type,InParameter3Type,InParameter4Type,OutParameter1Type,OutParameter2Type,ReturnType](Guid mdbGuid, InParameter1Type inParameter1, InParameter2Type inParameter2, InParameter3Type inParameter3, InParameter4Type inParameter4, OutParameter1Type& outParameter1, OutParameter2Type& outParameter2, OperationDelegate`7 operationDelegate) at Microsoft.Exchange.Search.NotificationQueue.MoveBackloggedItemsToRetryTable() at Microsoft.Exchange.Search.NotificationQueue.MaintenanceProcedure()).
The process here depends a little bit if your Exchange server is also broken or not. If the Server is broken you need to recover it as explained here. Once you have again a working MS Exchange server you can try to import the .EDB as explained here. After running eseutil and (hopefully) successfully restored the access you should create a new MailDB (.edb) and move all users (see here for the comands) from the fixed (and possible halfbroken) .EDB / MailDB to a new one which is OK and not (half) broken!!!
By the way I would consider using Exchange cache mode in your setup. If you do not have a backup then at least the users would have a local cache. Its not a backup, however having at least some emails locally is always better then having nothing. So this wouldn´t replace a working backup which is quite elementary.
If you couldn´t setup an additional Exchange Server or do think you do not need to restore that one as you would assume its working as designed. I would NOT create at first a USB drive copy from the damaged MailDB (.EDB). After that you can try to use eseutil to repair that database. I would start with an integrity check via (more infos here):
ESEUTIL /G "D:\Restore\priv1.edb“
Offtopic: By the way, for only 9 users you really should consider using Exchange Online / Office 365 to avoid such issues again.
User contributions licensed under CC BY-SA 3.0