Migración de buzones grandes a Exchange Online y solución al error QuotaExceededException

Al migrar buzones históricos a la nube, muchos administradores se topan con el temido QuotaExceededException. Comprender por qué surge y cómo resolverlo es clave para una transición a Exchange Online fluida y sin pérdida de datos.

Índice

Contexto del problema

Un buzón creado en 2010, con más de 300 000 mensajes y un tamaño que rebasa la cuota estándar de 50 GB, provoca que Exchange Online interrumpa la sincronización. La plataforma detecta que la casilla de origen sobrepasa su límite y responde con MapiExceptionShutoffQuotaExceeded (ec=1245). Mientras esa condición persista, el servicio rehusará leer más elementos y el lote de migración quedará en estado Failed.

Descripción del error QuotaExceededException

Fatal error QuotaExceededException encountered. 
Migration server response:
MapiExceptionShutoffQuotaExceeded (ec=1245)

El mensaje indica que se alcanzó (o incluso superó) la cuota de “shutoff”. En este umbral Exchange bloquea operaciones para proteger la latencia del sistema —no solo el espacio—; por ello no basta con “un poco” de espacio libre: hay que alejarse del límite.

Causas principales

  • Cuota insuficiente (planes de 50 GB) frente a buzones que crecieron durante más de una década.
  • Estructuras de carpetas con cientos de miles de elementos que disparan los límites de rendimiento (100 000 items por carpeta).
  • Retención legal o hold que impide la eliminación automática, haciendo imposible reducir volumen sin ampliar la licencia.
  • Herramientas de migración configuradas en modo Full, que intentan mover todo de una sola vez.

Soluciones rápidas y estratégicas

ObjetivoMedidaDetalles prácticos
Aumentar espacio disponibleExpandir la cuotaAscender el buzón a un plan Exchange Online Plan 2 o Microsoft 365 E3/E5, o bien agregar el complemento “Exchange Online Archiving”. Activa inmediata: bastan minutos para que el servicio reconozca la nueva cuota.
Reducir tamaño antes de migrara) Archivo en línea
b) Archivado local de Outlook
c) Eliminación selectiva
a) Mueve elementos antiguos a un buzón secundario de archivo sin impacto para el usuario.
b) Exporta a PST, descarga y remueve correos poco consultados.
c) Depura carpetas que ya no aportan valor; prioriza adjuntos voluminosos.
Disminuir carga del procesoDividir la migración en lotes más pequeñosConfigura Migration Batches filtrados por fecha (p. ej. un año a la vez) o por carpeta; así cada lote queda bajo la cuota y bajo el límite de 100 000 elementos.
Diagnóstico avanzado si persiste el falloRecopilar informes y cmdletsGet‑MigrationBatch, Get‑MigrationStatistics y Get‑MigrationUserStatistics –IncludeReport generan archivos CSV y HTML que describen dónde se atasca la copia.

Guía paso a paso para cada solución

Aumentar la cuota del buzón

1 . Asigna una licencia con 100 GB (Exchange Online Plan 2, Microsoft 365 E3/E5) desde el Microsoft 365 admin center.
2 . Espera entre 15 y 30 minutos a que el cambio propague.
3 . Reinicia el lote con Resume‑MigrationUser -Identity user@dominio.com. El proceso retoma desde el último checkpoint y suele avanzar sin volver a fallar.

Habilitar Archivo en línea

1 . Otorga la licencia de Exchange Online Archiving (o usa la incluida en Plan 2/E3/E5).
2 . Activa la característica con Enable‑Mailbox -user@dominio.com ‑Archive.
3 . Establece una política de retención: New‑RetentionPolicyTag "Inbox > 24 meses" -Type All -AgeLimitForRetention 730 -RetentionAction MoveToArchive y asígnala con Set‑RetentionPolicy.
4 . Ejecuta Start‑ManagedFolderAssistant para forzar el archivado antes de lanzar la migración.

Dividir la migración en lotes

1 . Identifica rangos de fechas con Search-Mailbox para estimar cuántos elementos moverá cada porción.
2 . Crea el primer lote sólo con correos hasta 2015:

New-MigrationBatch -Name "Historico-2010-2015" -SourceEndpoint OnPremISE -TargetDeliveryDomain tenant.mail.onmicrosoft.com -IncludeFolders "#Inbox/#Sent Items" -ExcludeFolders "#Drafts" -StartAfter (Get-Date)

3 . Una vez completado, habilita IncrementalSync para ese intervalo y lanza el lote siguiente.

Depuración y archivado local

1 . Pide al usuario exportar carpetas grandes a PST desde Outlook (File > Open & Export > Import/Export).
2 . Verifica el tamaño restante con Get-MailboxStatistics; apunta al valor de TotalItemSize.
3 . Vuelve a iniciar la migración sólo cuando el buzón quede por debajo de 50 GB o tenga ya la licencia ampliada.

Diagnóstico avanzado

Si el lote vuelve a fallar, abre el informe incluido en la propiedad ErrorReport; allí verás líneas con “Stage: CopyingMessages” y la carpeta exacta que produjo el bloqueo. En ocasiones un solo ítem corrupto basta para abortar; mueve ese mensaje al archivo o elimínalo, reinicia y la sincronización continúa.

Límites de Exchange Online que debes vigilar

  • 100 GB de buzón principal en la mayoría de planes premium.
  • 1,5 TB de buzón de archivo (se expande en tramos de 50 GB conforme se llena).
  • 100 000 elementos por carpeta; sobrepasar el límite no detiene la migración, pero la ralentiza drásticamente.
  • 500 000 elementos por buzón como umbral de rendimiento recomendado.
  • 20 movimientos simultáneos por usuario si empleas Outlook – Import/Export, frente a hasta 150 en un lote nativo Mailbox Migration.

Buenas prácticas de planificación

  • Ejecuta Test-MigrationServerAvailability para validar credenciales y conectividad.
  • Sincroniza en horario nocturno y deja la finalización (Complete-MigrationBatch) para fines de semana o festivos.
  • Desactiva antivirus en los servidores de origen sólo durante la copia para evitar timeouts.
  • Documenta fechas de cut‑over y comunica a los usuarios las ventanas de mantenimiento.
  • Aplica compresión a PSTs exportados con Compact Now y guarda avalúos de tamaño para auditar el ahorro.

Automatización recomendada

Conviene orquestar tareas repetitivas con PowerShell. Un script de ejemplo:

$Users = Import‑Csv .\Buzones.csv
foreach ($u in $Users) {
    Enable‑Mailbox $u.UserPrincipalName ‑Archive
    Start‑ManagedFolderAssistant $u.UserPrincipalName
    New‑MigrationBatch -Name "$($u.Alias)-Batch" -CSVData (Get‑Content .\Plantilla.csv | Out-String) `
        ‑AutoStart -AutoComplete
}

Luego entras a Exchange Admin Center > Migration y supervisas el avance sin intervenir manualmente por cada usuario.

Preguntas frecuentes

¿Qué pasa si rebaso otra vez la cuota después de migrar?
Exchange Online bloqueará envíos y mostrará mensaje de buzón casi lleno. Habilita Archivo en línea o aumenta la licencia.

¿El archivado afecta reglas de retención?
No. Las etiquetas se aplican por separado; puedes tener reglas distintas para buzón principal y archivo.

¿Es posible deshacer la migración si algo sale mal?
Sí, basta con un New‑MigrationBatch de tipo RemoteMove apuntando de vuelta a la base local. Sin embargo, perderás las ventajas de O365 hasta volver a subir el buzón.

Conclusión

El error QuotaExceededException no es sinónimo de desastre. Con una estrategia que combine ampliación de cuota, archivado inteligente, lotes escalonados y buen diagnóstico, es factible mover buzones de cualquier tamaño a Exchange Online manteniendo la experiencia del usuario y cumpliendo los SLAs de TI.

Índice