Estoy realizando una actualización de Exchange de 2016 a 2019 y comencé a tener fallas de migración en varios buzones de correo. Pasé de 2010 a 2016 sin problemas. La primera vez que comencé la migración (usando comandos EMS) cometí un error de novato y el disco duro se llenó de registros. Solucioné ese problema y logré mover algunos buzones más. Ahora, cualquier buzón de más de 1 GB, quedan unos 15, falla entre el 24% y el 29% con el siguiente error. He estado investigando esto durante semanas y solo puedo encontrar referencias a la codificación y las aplicaciones de C #.

Error en la solicitud '[dominio local] .local / Users / [alias]' (e18b4061-ebc3-4f67-84b9-30810b7c4339). Código de error: -2146233088 La llamada a 'net.tcp: // exchange2016. [Dominio local] .local / Microsoft.Exchange.MailboxReplicationService.ProxyService Exchange2016. [Dominio local] .local (15.1.1913.5 mayúsculas: 0FFD6FFFBF5FFFFFCB07FFFF)' falló. Detalles del error: el formateador lanzó una excepción al intentar deserializar el mensaje: se produjo un error al intentar deserializar el parámetro http://tempuri.org/:IMailbox_ExportMessagesResult. El mensaje InnerException era 'Hubo un error al deserializar el objeto de tipo Microsoft.Exchange.MailboxReplicationService.DataExportBatch. Se superó la cuota máxima de longitud de matriz (35000000) al leer datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxArrayLength en el objeto XmlDictionaryReaderQuotas utilizado al crear el lector XML. '. Consulte InnerException para obtener más detalles. -> Hubo un error al deserializar el objeto de tipo Microsoft.Exchange.MailboxReplicationService.DataExportBatch. Se superó la cuota de longitud máxima de la matriz (35000000) al leer datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxArrayLength en el objeto XmlDictionaryReaderQuotas usado al crear el lector XML. ->Se superó la cuota máxima de longitud de matriz (35000000) al leer datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxArrayLength en el objeto XmlDictionaryReaderQuotas usado al crear el lector XML .. -> El formateador lanzó una excepción al intentar deserializar el mensaje: Hubo un error al intentar deserializar el parámetrohttp://tempuri.org/:IMailbox_ExportMessagesResult. El mensaje InnerException era 'Hubo un error al deserializar el objeto de tipo Microsoft.Exchange.MailboxReplicationService.DataExportBatch. Se superó la cuota máxima de longitud de matriz (35000000) al leer datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxArrayLength en el objeto XmlDictionaryReaderQuotas utilizado al crear el lector XML. '. Consulte InnerException para obtener más detalles. -> Hubo un error al deserializar el objeto de tipo Microsoft.Exchange.MailboxReplicationService.DataExportBatch. Se superó la cuota máxima de longitud de matriz (35000000) al leer datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxArrayLength en el objeto XmlDictionaryReaderQuotas usado al crear el lector XML. ->Se superó la cuota máxima de longitud de matriz (35000000) al leer datos XML. Esta cuota se puede aumentar cambiando la propiedad MaxArrayLength en el objeto XmlDictionaryReaderQuotas usado al crear el lector XML.

Contexto:

Operación: IMailbox.ExportMessages Operación: IMailbox.ExportMessages OperationSide: Fuente e18b4061-ebc3-4f67-84b9-30810b7c4339 (Primario) Indicadores: SkipItemValidation

PropTags: (nulo)

Scheduled WorkItems: 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)

Esto es lo que intenté solucionarlo:

  • estableciendo un límite estático incorrecto, comenzó en 100 y se incrementó a 3000. sin cambios.
  • creó una nueva base de datos de buzones de correo e intentó migrar a ella. ningún cambio.
  • agregó una nueva unidad de datos a la máquina virtual, una nueva base de datos de buzones de correo en la nueva unidad. ningún cambio.
  • probé migraciones únicas y masivas. ningún cambio.

¿Alguna idea de cómo superar esto? ¿O alguna idea de en qué archivo se encuentra Microsoft.Exchange.MailboxReplicationService.DataExportBatch para que pueda cambiar el tamaño del búfer?

answer

Según el hilo similar " Error en la migración del buzón de Exchange 2013 a 2016 para algunos usuarios " y el error " Se superó la cuota de longitud máxima de la matriz (35000000) al leer datos XML ", el problema de migración podría deberse al exceso la cuota ( maxArrayLength ).

Puede intentar aumentar la cuota en el archivo xml MsExchangeMailboxReplication.exe.config ( C: \ Archivos de programa \ Microsoft \ Exchange Server \ V15 \ Bin \ MsExchangeMailboxReplication.exe.config ), luego migre los 15 buzones restantes nuevamente para verificar el resultado . Para revertir los cambios fácilmente, puede hacer una copia de seguridad de las cuotas originales.