Email

郵箱從 Exchange 2016 遷移到 2019 失敗

  • April 29, 2020

我正在從 2016 年到 2019 年進行 Exchange 升級,並開始在多個郵箱上出現遷移失敗。我從 2010 年到 2016 年沒有任何問題。第一次開始遷移(使用 EMS 命令)時,我犯了一個新手錯誤,硬碟驅動器充滿了日誌。我解決了這個問題並設法移動了更多郵箱。現在任何超過 1GB 的郵箱(大約還剩 15 個)在 24-29% 之間失敗,並出現以下錯誤。我已經研究了幾個星期,只能找到對 C# 編碼和應用程序的參考。

要求 '

$$ local domain $$.local/使用者/$$ alias $$’ (e18b4061-ebc3-4f67-84b9-30810b7c4339) 失敗。錯誤程式碼:-2146233088 呼叫 ’net.tcp://exchange2016.$$ local domain $$.local/Microsoft.Exchange.MailboxReplicationService.ProxyService Exchange2016。$$ local domain $$.local (15.1.1913.5 caps:0FFD6FFFBF5FFFFFCB07FFFF)’ 失敗。錯誤詳細資訊:格式化程序在嘗試反序列化消息時拋出異常:嘗試反序列化參數時出錯http://tempuri.org/:IMailbox_ExportMessagesResult. InnerException 消息是“反序列化 Microsoft.Exchange.MailboxReplicationService.DataExportBatch 類型的對象時出錯。讀取 XML 數據時已超出最大數組長度配額 (35000000)。可以通過更改創建 XML 閱讀器時使用的 XmlDictionaryReaderQuotas 對象的 MaxArrayLength 屬性來增加此配額。有關更多詳細資訊,請參閱 InnerException。–> 反序列化 Microsoft.Exchange.MailboxReplicationService.DataExportBatch 類型的對象時出錯。讀取 XML 數據時已超出最大數組長度配額 (35000000)。可以通過更改創建 XML 閱讀器時使用的 XmlDictionaryReaderQuotas 對象的 MaxArrayLength 屬性來增加此配額。–> 讀取 XML 數據時已超出最大數組長度配額 (35000000)。可以通過更改創建 XML 閱讀器時使用的 XmlDictionaryReaderQuotas 對象的 MaxArrayLength 屬性來增加此配額。 –> 格式化程序在嘗試反序列化消息時拋出異常:嘗試反序列化參數時出錯http://tempuri.org/:IMailbox_ExportMessagesResult. InnerException 消息是“反序列化 Microsoft.Exchange.MailboxReplicationService.DataExportBatch 類型的對象時出錯。讀取 XML 數據時已超出最大數組長度配額 (35000000)。可以通過更改創建 XML 閱讀器時使用的 XmlDictionaryReaderQuotas 對象的 MaxArrayLength 屬性來增加此配額。有關更多詳細資訊,請參閱 InnerException。–> 反序列化 Microsoft.Exchange.MailboxReplicationService.DataExportBatch 類型的對象時出錯。讀取 XML 數據時已超出最大數組長度配額 (35000000)。可以通過更改創建 XML 閱讀器時使用的 XmlDictionaryReaderQuotas 對象的 MaxArrayLength 屬性來增加此配額。–> 讀取 XML 數據時已超出最大數組長度配額 (35000000)。可以通過更改創建 XML 閱讀器時使用的 XmlDictionaryReaderQuotas 對象的 MaxArrayLength 屬性來增加此配額。 語境:

操作:IMailbox.ExportMessages 操作:IMailbox.ExportMessages OperationSide:源 e18b4061-ebc3-4f67-84b9-30810b7c4339(主要)標誌:SkipItemValidation

道具標籤:(空)

> > > > > > > > > > > > 計劃工作項:EnumerateFolderMessages(P:288,R:1,S:0,C:15);EnumerateFolderMessages(P:305,R:0,S:0,C:12,Cnt=6); WriteFolderMessages(P:2,R:0,S:0,C:93); EnumerateFolderMessages(P:473,R:0,S:0,C:12,Cnt=7); WriteFolderMessages(P:0,R:0,S:0,C:49); EnumerateFolderMessages(P:598,R:0,S:0,C:14); EnumerateFolderMessages(P:614,R:0,S:0,C:13,Cnt=4); WriteFolderMessages(P:2,R:0,S:0,C:1818); EnumerateFolderMessages(P:2560,R:0,S:0,C:343); WriteFolderMessages(P:2,R:0,S:0,C:1806,Cnt=5) > > > > > > > > > > > > > > > > > >

這是我試圖解決的問題:

  • 設置靜態錯誤限制,從 100 開始並增加到 3000。沒有變化。
  • 創建了一個新的郵箱數據庫並嘗試遷移到該數據庫。不用找了。
  • 向虛擬機添加了新的數據驅動器,新驅動器上的新郵箱數據庫。不用找了。
  • 嘗試了單一和批量遷移。不用找了。

知道如何克服這個問題嗎?或者知道 Microsoft.Exchange.MailboxReplicationService.DataExportBatch 在什麼文件中,以便我可以更改緩衝區大小?

根據類似的執行緒“ Getting Error in Mailbox Migration from Exchange 2013 to 2016 for some users ”和錯誤“ The maximum array length quota (35000000) has been exceeded while reading XML data. ”,遷移問題可能是由於超出配額(maxArrayLength)。

您可以嘗試增加 xml 文件MsExchangeMailboxReplication.exe.config ( C:\Program Files\Microsoft\Exchange Server\V15\Bin\MsExchangeMailboxReplication.exe.config ) 中的配額,然後再次遷移剩餘的 15 個郵箱以檢查結果. 要輕鬆還原更改,您可以備份原始配額。

引用自:https://serverfault.com/questions/1014686