Exchange 2010 Move Mailbox bricht nach 2h (Stunden) ab – große Anzahl Ordner im Postfach

Letztens bei einer Migration konnte ein Postfach nicht verschoben werden. Der Fortschrittsanzeiger blieb bei 10% hängen und bewegte sich über Stunden nicht weiter.

Nach ca. 2h brach der Job dann mit folgender Meldung ab:

Status: SyncSource
11.03.2013 21:25:20 [TargetServer] Der Microsoft Exchange-Postfachreplikationsdienst ‚TargetServer‘ (14.3.123.2 caps:07) überprüft die Anforderung.
11.03.2013 21:25:20 [TargetServer] Verbunden mit Zielpostfach ‚Primär (9344562e-8f36-447b-a3d6-6acb508d23f3)‘, Datenbank ‚DB_03‘, Postfachserver ‚Targetserver‘ Version 14.3 (Build 123.0).
11.03.2013 21:25:22 [TargetServer] Verbunden mit Quellpostfach ‚Primär (9344562e-8f36-447b-a3d6-6acb508d23f3)‘, Datenbank ‚DB01‘, Postfachserver ‚Sourceserver‘ Version 14.3 (Build 123.0).
11.03.2013 21:25:27 [TargetServer] Der vorübergehende Fehler SourceMailboxAlreadyBeingMovedTransientException ist aufgetreten. Das System wird (2/60) neu versuchen.
Fehlerdetails: Das Postfach konnte nicht in den Modus für die Quellsynchronisierung umgeschaltet werden.
Hierfür sind folgende Gründe möglich:
  Ein anderer Administrator verschiebt das Postfach zurzeit.
  Das Postfach ist gesperrt.
  Der Microsoft Exchange-Postfachreplikationsdienst (MRS) verfügt nicht über die richtigen Berechtigungen.
  Netzwerkfehler verhindern, dass MRS die Sitzung mit dem Postfachserver sauber abschließt. Wenn dies der Fall ist, kann dieser Fehler in MRS noch für bis zu 2 Stunden auftreten. Diese Dauer wird von den TCP-KeepAlive-Einstellungen auf dem Postfachserver gesteuert. Warten Sie, bis das Postfach freigegeben wurde, bevor Sie erneut versuchen, dieses Postfach zu verschieben.
   bei Microsoft.Exchange.MailboxReplicationService.LocalMailbox.Microsoft.Exchange.MailboxReplicationService.IMailbox.SetInTransitStatus(InTransitStatus status, Boolean& onlineMoveSupported)
   bei Microsoft.Exchange.MailboxReplicationService.MailboxWrapper.<>c__DisplayClass20.<Microsoft.Exchange.MailboxReplicationService.IMailbox.SetInTransitStatus>b__1f()
   bei Microsoft.Exchange.MailboxReplicationService.ExecutionContext.Execute(GenericCallDelegate operation)
   bei Microsoft.Exchange.MailboxReplicationService.MailboxWrapper.Microsoft.Exchange.MailboxReplicationService.IMailbox.SetInTransitStatus(InTransitStatus status, Boolean& onlineMoveSupported)
   bei Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.<StartMove>b__1b(MailboxMover mbxCtx)
   bei Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.ForeachMailboxContext(MailboxMoverDelegate del)
   bei Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.StartMove(Object[] wiParams)
   bei Microsoft.Exchange.MailboxReplicationService.CommonUtils.CatchKnownExceptions(GenericCallDelegate del, FailureDelegate failureDelegate)

Diese Information war fast hilfreich.  🙂
Der Hinweis in der Fehlermeldung

Netzwerkfehler verhindern, dass MRS die Sitzung mit dem Postfachserver sauber abschließt. Wenn dies der Fall ist, kann dieser Fehler in MRS noch für bis zu 2 Stunden auftreten. Diese Dauer wird von den TCP-KeepAlive-Einstellungen auf dem Postfachserver gesteuert

brachte mich dann aber auf die Lösung.  Ein Blick in das Postfachverschiebeprotokoll brachte die Info, dass dieses Postfach weit über 5500 Ordner hat.

Die Ordnerhierarchie in Postfach ‚Primär (9344562e-8f36-447b-a3d6-6acb508d23f3)‘ wird initialisiert: 5575 Ordner gesamt.

Der Postfach Verschiebedienst braucht scheinbar sehr lange, die Hierarchie zu ermitteln. (Im weiten Internet findet man Hinweise, dass der Job schon bei über 2000 Ordnern abbricht.)

Wenn nun die KeepAliveTime auf 2h steht (Default!), bricht der Job dann natürlich ab.
Ich habe den Wert mal auf 5 Minuten geändert (300.000ms). Dann funktionierts.

Auf dem „Source“ Server in der Registry unter

HKLM\System\CurrentControlSet\Services\TCPIP\Parameters den DWORD32 KeepALiveTime mit 300000 (dec) hinzufügen.

Alternativ kann der Job mittels „Resume“ wieder aufgenommen werden, dann klappt’s auch irgendwann….