Constraint error when trying to view Disconnected Mailboxes
Hi All!I think i caused a major boo-boo the yesterday. Last weekend, I created a new Storage group and mailbox database, and moved all of our users to the new SG/Database (which is stored on an external storage array). Basic info: Exchange 2007, Update Rollup 3, 64bitToday, I decided to disable the default "Mailbox Database" under First Storage Group. When I did this, i immediately got errors in my application event log, to the tune of: A transient failure has occurred. The problem may resolve itself in a while. The service will retry in 56 seconds. Diagnostic information: Cannot open mailbox /o=aum/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EXCHANGEDB/cn=Microsoft System Attendant. Microsoft.Exchange.Data.Storage.ConnectionFailedTransientException: Cannot open mailbox /o=aum/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Configuration/cn=Servers/cn=EXCHANGEDB/cn=Microsoft System Attendant. ---> Microsoft.Mapi.MapiExceptionLogonFailed: MapiExceptionLogonFailed: Unable to open message store. (hr=0x80040111, ec=-2147221231) Diagnostic context: Lid: 18969 EcDoRpcExt2 called [length=242] Lid: 27161 EcDoRpcExt2 returned [ec=0x0][length=116][latency=0] Lid: 23226 --- ROP Parse Start --- Lid: 27962 ROP: ropLogon [254] Lid: 17082 ROP Error: 0x80040111 Lid: 26937 Lid: 21921 StoreEc: 0x80040111 Lid: 27962 ROP: ropExtendedError [250] Lid: 1494 ---- Remote Context Beg ---- Lid: 26426 ROP: ropLogon [254] Lid: 22970 Lid: 8620 StoreEc: 0x80040111 Lid: 10786 dwParam: 0x0 Msg: EXCHANGEDB Lid: 1750 ---- Remote Context End ---- Lid: 26849 Lid: 21817 ROP Failure: 0x80040111 Lid: 26297 Lid: 16585 StoreEc: 0x80040111 Lid: 32441 Lid: 1706 StoreEc: 0x80040111 Lid: 24761 Lid: 20665 StoreEc: 0x80040111 Lid: 25785 Lid: 29881 StoreEc: 0x80040111 at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, Int32 ec, DiagnosticContext diagCtx) at Microsoft.Mapi.ExRpcConnection.OpenMsgStore(OpenStoreFlag storeFlags, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, MapiStore msgStorePrivate, String& correctServerDn, ClientIdentityInfo clientIdentityAs, String userDnAs, String applicationId, CultureInfo cultureInfo) at Microsoft.Mapi.ConnectionCache.OpenMapiStore(String mailboxDn, Guid mailboxGuid, Guid mdbGuid, ClientIdentityInfo clientIdentity, String userDnAs, OpenStoreFlag openStoreFlags, CultureInfo cultureInfo, String applicationId) at Microsoft.Mapi.ConnectionCache.OpenMailbox(String mailboxDn, Guid mailboxGuid, Guid mdbGuid, WindowsIdentity windowsIdentityAs, String userDnAs, OpenStoreFlag openStoreFlags, CultureInfo cultureInfo, String applicationId) at Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry) --- End of inner exception stack trace --- at Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry) at Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry) at Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString) at Microsoft.Exchange.Data.Storage.MailboxSession.Initialize(LogonType logonType, ExchangePrincipal owner, ADOrgPerson delegateUser, Object identity, OpenMailboxSessionFlags flags) at Microsoft.Exchange.Data.Storage.MailboxSession.CreateMailboxSession(LogonType logonType, ExchangePrincipal owner, ADOrgPerson delegateUser, Object identity, OpenMailboxSessionFlags flags, CultureInfo cultureInfo, String clientInfoString) at Microsoft.Exchange.Data.Storage.MailboxSession.OpenAsAdmin(ExchangePrincipal mailboxOwner, CultureInfo cultureInfo, String clientInfoString) at Microsoft.Exchange.Servicelets.SystemAttendantMailbox.Servicelet.Work() OK, so i decided, perhaps this was a bad idea! So i mounted Mailbox Database again.. all seems well. However! Now, everytime i go into "Disconnected Mailbox" under the "Recipient Configuration" menu in Exchange Management Console, I get the following "Microsoft Exchange Critical Error" pop-up window with the following details: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints. at System.Data.DataTable.EnableConstraints() at System.Data.DataTable.set_EnforceConstraints(Boolean value) at System.Data.DataTable.EndLoadData() at Microsoft.Exchange.Management.SystemManager.DataTableLoader.MoveRows(DataTable sourceTable, DataTable destinationTable, Boolean forceUseMergeTable) at Microsoft.Exchange.Management.SystemManager.DataTableLoader.OnDoRefreshWork(RefreshRequestEventArgs e) at Microsoft.Exchange.Management.SnapIn.Esm.Recipients.DisconnMailboxesDataSource.OnDoRefreshWork(RefreshRequestEventArgs e) at Microsoft.Exchange.Management.SystemManager.RefreshableComponent.worker_DoWork(Object sender, DoWorkEventArgs e) at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument) Has anyone seen anything like this?? I can't seem to figure out what the heck went wrong here. I did some research on the net, and saw a few people with similar problems get some relief with re-running setup.com /preparead, but this did not seem to do any good for us.Just an FYI, mail seems to be working fine, and I am not seeing any other problems other than this persistent error.Any help is MUCH appreciated!! thanks!!
August 1st, 2007 7:08am

I wonder if there is a bug related to the default database. Maybe it is required for some operation. Let's try a EMS cmdlet and see if it bombs the same way the GUI does. Open up the EMS and type this: Get-MailboxStatistics | Where {$_.Databasename -eq "Mailbox Database"} Does it bomb out?
Free Windows Admin Tool Kit Click here and download it now
August 1st, 2007 8:40pm

Interestingly enough, I don't get any errors when i run that command.It does return a few mailboxes, however. They seem to have the same name of actual users, but the "Item Count" is very low, which would indicate to me that it is not the real mailbox (one of the mailboxes is my own, and i know i have more than 2 items.)thanks so much for the assistance!
August 1st, 2007 10:28pm

Just adding some other interesting information. I keep doing research online, and came up with a blog posting with a very similar situation at: http://www.mmmug.co.uk/blogs/nweb/archive/2007/07/04/1330.aspxIt SOUNDS like this is a bug???If it makes any difference, everything is brand new on Exchange 2007. We have not upgraded from 2003 or any other version, as we are new to the exchange software.thanks for any info!
Free Windows Admin Tool Kit Click here and download it now
August 2nd, 2007 3:26am

Hi All, I experience the same problem with viewing disconnected mailboxes at microsoft exhcange 2007, this problem happened after I restore database/storage group by using dial-tone restore which including move mailbox configurationto the temporary database, usualy its done by using this command: get-mailbox -database 'storagegroupname\databasename' | move-mailbox -configurationonly -targetdatabase 'storagegroupname\databasename' By move the configuration to other storage group and database, it make the error when viewing the disconnected mailbox If you ever do the same command like above then you can solve the problem by: 1. Move all the mailbox to its original storage group and database. 2. Using command describe above return the configuration back to the original storage group and database 3.Remove temporary database 3.Remove temporary storage group Hope this help... Regards, Jazz Man
September 26th, 2007 7:30am

I am reviving this because i have a similar problem after 3Y as you can see :) As Jim suggested Get-MailboxStatistics | Where {$_.Databasename -eq "Mailbox Database"} the command witch i tried and got a warning: WARNING: The database 'xxx-xxx-xxx\First Storage Group\Mailbox Database' to be accessed on server 'ser-beo-dc02.telelink.rs' is not mounted or is not available. First Storage Group\Mailbox Database is really disconnected and deleted because we have moved all of the mailboxes to a structurally organised Storage Groups Do you have some idea of why is this happening ?
Free Windows Admin Tool Kit Click here and download it now
September 16th, 2010 8:49am

On Thu, 16 Sep 2010 12:46:09 +0000, NinjaNuN wrote: > > >I am reviving this because i have a similar problem after 3Y as you can see :) > > > >As Jim suggested Get-MailboxStatistics | Where {$_.Databasename -eq "Mailbox Database"} the command witch i tried and got a warning: That's a pretty inefficient way to run that. Try using "Get-MailboxStatistics -Database ....." instead. >WARNING: The database 'xxx-xxx-xxx\First Storage Group\Mailbox Database' to be > > accessed on server 'ser-beo-dc02.telelink.rs' is not mounted or is not > >available. > >First Storage Group\Mailbox Database is really disconnected and deleted because we have moved all of the mailboxes to a structurally organised Storage Groups > >Do you have some idea of why is this happening ? If you try "get-mailboxdatabase" do you see that mailbox database in the output? --- Rich Matheisen MCSE+I, Exchange MVP --- Rich Matheisen MCSE+I, Exchange MVP
September 16th, 2010 8:37pm

Hi Rich This is the output: [PS] C:\Users\Administrator\Desktop>Get-MailboxStatistics -Database "Mailbox Database" Get-MailboxStatistics : The database 'XXX-XXX-XXX\First Storage Group\Mailbox Database' to be accessed on server 'XXX-XXX-XXX.domain.com' is not mounted or is not available. At line:1 char:22 + Get-MailboxStatistics <<<< -Database "Mailbox Database" + CategoryInfo : ResourceUnavailable: (XXX-XXX-XXX\Fi...ailbox Database:MailboxDatabase) [Get-MailboxStatistics], DatabaseUnavailableException + FullyQualifiedErrorId : D5ED5721,Microsoft.Exchange.Management.MapiTasks.GetMailboxStatistics
Free Windows Admin Tool Kit Click here and download it now
September 20th, 2010 4:53am

On Mon, 20 Sep 2010 08:50:19 +0000, NinjaNuN wrote: > > >Hi Rich > >This is the output: > >[PS] C:\Users\Administrator\Desktop>Get-MailboxStatistics -Database "Mailbox Database" > >Get-MailboxStatistics : The database 'XXX-XXX-XXX\First Storage Group\Mailbox > >Database' to be accessed on server 'XXX-XXX-XXX.domain.com' is not mounted or is not available. > >At line:1 char:22 > >+ Get-MailboxStatistics <<<< -Database "Mailbox Database" > > + CategoryInfo : ResourceUnavailable: (XXX-XXX-XXX\Fi...ailbox Database:MailboxDatabase) [Get-MailboxStatistics], DatabaseUnavailableException > > + FullyQualifiedErrorId : D5ED5721,Microsoft.Exchange.Management.MapiTasks.GetMailboxStatistics Okay, but what about the "get-mailboxdatabase" output? Or, even better, "get-mailboxdatabase -status | fl". Is the database present? Is it mounted? --- Rich Matheisen MCSE+I, Exchange MVP --- Rich Matheisen MCSE+I, Exchange MVP
September 20th, 2010 7:41pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics