Known solutions for hybrid migrations errors - Microsoft Community


technical level : intermediate

summary

this article documents of common errors related failed hybrid migrations, along steps resolve them or fix suggestions, there multiple root causes.

in case need guidance extracting detailed migration errors or analyzing migration report powershell, please consult our below article, step step instructions:

how extract , analyze errors hybrid migration report using powershell

if had experienced new error missing list , found solution, more welcome share here, because consolidate initiative , other persons fix migration issues faster.


details

1) migrationpermanentexception: must specify primaryonly parameter. error can occur when attempt migrate cloud on-prem mailbox via migration batch eac, online archive exists user. fix: in order migrate primary mailbox office 365, need start mailbox move following command, exchange online powershell: new-moverequest identity <user> -remotecredential (get-credential) -remote -remotehostname 'mail.contoso.com' -targetdeliverydomain <tenant.mail.onmicrosoft.com -primaryonly

2) couldn't switch mailbox sync source mode. because administrator moving mailbox destination database, mailbox locked, or microsoft exchange mailbox replication service doesn't have correct permissions. failuretype: sourcemailboxalreadybeingmovedtransientexception.

this error can correlated slow migration performance.

possible solutions: -check if there local move request user on on-prem exchange server. -in case have exchange 2010 multiple cas servers load balanced, make sure load balancer maintains session affinity, more incoming migration requests mailbox should processed same cas server. -try see if setting tcp keepalivetime on server hosting source mailbox 5 minutes (instead of 2 hours) fix issue. more details can found article: https://blogs.msdn.microsoft.com/brad_hughes/2016/12/16/source-mailbox-already-being-moved-errors-while-moving-mailboxes/

3) failed convert source mailbox 'mailboxid' mail-enabled user after move.   failuretpe: updatemovedmailboxpermanentexception.    - there property named admincount  on each user in local ad, default not populated or gets set “1”, once account added privileged group.    - admincount value has no effect on account , used flag indicate account is, or was, protected.  - user might end 2 mailboxes: 1 in local exchange , 1 in exo.   - more information inherited ad permissions can found in next article:  https://blogs.msdn.microsoft.com/muaddib/2013/12/30/how-to-modify-security-inheritance-on-active-directory-objects-using-powershell/    fix:   https://support.microsoft.com/en-us/help/2745710/a-user-can-t-access-a-mailbox-by-using-outlook-after-a-remote-mailbox-move-from-an-on-premises-exchange-server-environment-to-office-365

4) mapiexceptiontoocomplex: unable query table rows. (hr=0x80040117, ec=-2147221225)    fix:  prevent failure during move process (onboarding or offboarding) need skip moving folder views or folder restrictions along mailbox, starting move exo powershell below:  new-moverequest –identity *** email address removed privacy *** -skipmoving: folderviews, folderrestrictions -remote -remotecredential(get-credential)-remotehostname "mrsproxy.contoso.com" -targetdeliverydomain contoso.com

5) migrationpermanentexception: can’t use domain because it’s not accepted domain organization. –> can’t use domain because it’s not accepted domain organization. fix:

check on ad user object if there proxy addresses in domains not verified in exchange online. once identified faulty email addresses, remove them , force aadconnect sync. start new migration affected user.

6) migrationpermanentexception: target mailbox doesn’t have smtp proxy matching ‎'contoso.mail.onmicrosoft.com‎'.     this issue may occur if source mailbox isn't stamped <domain.mail.onmicrosoft.com> smtp address.     fix: https://support.microsoft.com/en-gb/kb/2939340

7) migrationpermanentexception: cannot find recipient has mailbox guid <guid>" error message when try move mailbox in exchange hybrid deployment.      this behavior occurs because value of exchangeguid attribute exchange online user isn't stamped on associated remote mailbox on-premises organization.     fix:  https://support.microsoft.com/en-us/kb/2956029

8) fatal error toomanymissingitemspermanentexception has occurred.     or fatal error toomanybadpermanentexception has occurred.    issue can occur because bad items limit move request has been reached.      fix: in order fix issue, should increase bad items limit higher value:       set-moverequest <user> –baditemlimit 100       resume-moverequest <user>

9) call 'https://mail.contoso.com/ews/mrsproxy.svc' timed out. error details: request channel timed out attempting  send after 00:00:00.   increase timeout value passed call request or increase sendtimeout value on the  binding.  or  the call 'https://mail.contoso.com/ews/mrsproxy.svc' failed because no service listening on specified endpoint.   error details: there no endpoint listening @ https://mail.contoso.com/ews/mrsproxy.svc accept message.   this caused incorrect address or soap action. see innerexception, if present, more details. --> remote server returned error: (404) not found.    these errors occurring particular users, while other mailboxes can moved successfully.   caused exchangeguid mismatch between exo , local exchange:    fix: https://support.microsoft.com/en-us/kb/306575

10) call ‘https://mail.domain.com/ews/mrsproxy.svc ‘ failed. error details: server unable process request due internal error.  more information error, either turn on includeexceptiondetailinfaults   (either servicebehaviorattribute or <servicedebug> configuration behavior) on server in order send exception information client, or turn on tracing per microsoft .net framework 3.0 sdk documentation  , inspect server trace logs.. –>   server unable process request due internal error.  more information error, either turn on includeexceptiondetailinfaults (either servicebehaviorattribute or <servicedebug> configuration behavior)   on server in order send exception information client, or turn on tracing per microsoft .net framework 3.0 sdk documentation , inspect server trace logs.      failure type error communicationerrortransientexception.     error caused particular folders views source mailbox. mrs fails create these folders hierarchy of destination mailbox.     fix: https://blogs.technet.microsoft.com/latam/2016/01/05/o365-error-when-trying-to-move-a-mailbox-to-the-cloud-creatingfolderhierarchy-communicationerrortransientexception/ https://support.microsoft.com/en-us/help/3063045/-transientexception-errors-when-you-try-to-move-mailboxes-from-exchange-online-to-exchange-server-2007-in-the-on-premises-environment

11) failed find principal in target forest corresponds source/target forest principal ( corrupted item encountered: folder acl “foldername").    message related mailbox/mailboxfolder permissions cannot migrated, since cloud mrs service cannot find object permissions list in destination forest, map these permissions against.     fix: see below article more details:  https://blogs.technet.microsoft.com/exchange/2017/05/30/toomanybaditemspermanentexception-error-when-migrating-to-exchange-online/

12) cannot query rows in table. --> mapiexceptionmaxobjsexceeded: unable query table rows.  failuretype       : storagepermanentexception    fix: increase limit of search folders in on-premises exchange server per below steps:    1.on exchange server hosting target database cloud mailbox offboarded, , open following config file:   microsoft.exchange.store.worker.exe.config, found in bin folder of %exchangeinstallpath% .     2.add following lines in configuration tag, between </runtime> and </configuration>  <appsettings>  <add key="dynamicsearchfolderperscopecountreceivequota" value="250" />  </appsettings>    3.restart microsoft exchange information store service after modifying file , try again move.

13) call 'https://mrsproxyhost/ews/mrsproxy.svc server.domain.com (14.3.178.0 caps:05ffff)' failed.  error details: remote endpoint no longer recognizes sequence. due abort on remote endpoint. value of wsrm:identifier not known sequence identifier. reliable session faulted.  failuretype:communicationerrortransientexception.    error caused wrong load-balancer configuration, when using multiple exchange 2010 cas servers.    fix: prevent issue, make sure load-balancer keeping session affinity/persistence. behavior explained in next article:        https://blogs.msdn.microsoft.com/brad_hughes/2017/02/21/its-always-the-load-balancer/  

14) error:missingexchangeguidexception: user object *** email address removed privacy ***' not have valid exchangeguid property , cannot migrated.  issue occurs when exo fails provision exchangeguid attribute user(msoluser have validation error), because exchangeguid value used object exo, active mailbox/mailuser or soft deleted mailbox/mailuser.    fix: first use command exchangeguid/archiveguid validation error:  (get-msoluser -userprincipalname *** email address removed privacy ***).errors.errordetail.objecterrors.errorrecord| fl    search in exo powershell object using mentioned exchangeguid or archiveguid:   get-recipient -includesoftdeletedrecipients 'exchangeguid value'|ft recipienttype,primarysmtpaddress,*whensoftdeleted*    once found object using guid, have purge it:   1.if softdeleted mailuser: remove-mailuser 'exchangeguid value' -permanentlydelete   2.if softdeleted usermailbox, run:  remove-mailbox 'exchangeguid value' -permanentlydelete   -if command fails due mailbox being protected hold, have disable hold first(check if data backup required):   set-mailbox *** email address removed privacy *** -litigationholdenabled $false -inactivemailbox   3. if turns active mailuser/mailbox using exchangeguid/archiveguid, need evaluate option purge user(however, rare scenario though).   4. after faulty object has been purged exo, need fix validation error forcing object provisioning:    get-msoluser -userprincipalname *** email address removed privacy *** |fl *objectid*  redo-msolprovisionuser -objectid 'paste *objectid* value above command'   5. after 5 minutes run command confirm if validation error fixed:   (get-msoluser -userprincipalname *** email address removed privacy ***).errors.errordetail.objecterrors.errorrecord| fl   6. if validation error gone, can try again migration.    

15) call 'https://<servername>/ews/mrsproxy.svc' failed. error details: access denied”  error when try create new migration batch or start new move request, using exchange 2013 migration server.    issue occurs if computer account of exchange 2013 hybrid server member of 1 or more protected groups.      fix: https://support.microsoft.com/en-us/help/2975731/access-is-denied-error-when-you-try-to-move-mailboxes-to-exchange-onl

16) call 'https://mail.contoso.com/ews/mrsproxy.svc' failed. error details: unable cast object of type 'system.string' type 'system.string[]'.. --] unable cast object of type 'system.string' type 'system.string[]'.  failuretype:communicationerrortransientexception    error can caused restrictions or invalid properties on "search folders" defined user.    fix: start outlook client affected user profile configured, using switch "outlook.exe /cleanfinders

go to  exchange online support corner home page.



Office / Office 365 for admins / Exchange Online / Office 365 for business



Comments

Popular posts from this blog

Getting ErrorCode: 120018 when trying to access Microsoft account - Microsoft Community

The message was sent to a distribution list ‎(DL)‎ - Microsoft Community