TroubleShooting: Eliminar mailbox “softdeleted” de una bbdd

Cuando movemos buzones de una base de datos a otra no borra completamente un buzón de la base de datos origen hasta que se haya completado el movimiento.

En vez de ello, los buzones de origen se marcan como “softdeleted“. En este estado podríamos usar el cmdlet MailboxRestoreRequest para acceder al buzon durante una operación de restore

Los buzones en estado SoftDeleted se mantienen en la base de datos de origen hasta que el periodo de retención de Mailboxes expire o utilicemos el comando Remove-StoreMailbox, el cual purga el mailbox

Si por lo que sea quisiera recuperar un maibox soft deleted seria:

Get-MailboxStatistics -Database MBD01 | Where { $_.DisconnectReason -eq “SoftDeleted” } | Format-List LegacyDN, DisplayName, MailboxGUID, DisconnectReason


Si desfragmentamos la base de datos apenas libera espacio, porque estan los soft deleted


Supongamos que hemos movido unos usuarios de la base de datos BD01 a la BD120. Los buzones se quedan en la BD BD10 en estado SoftDeleted. Y ocupan espacio

Get-MailboxStatistics -Database BD10 where {$_.DisconnectReason -eq “SoftDeleted”}


Ahora lo eliminaremos con el commando Remove-StoreMailbox

Primero salvamos los buzones a una variable de la base de datos a limpiar (BD01)

$mbxs Get-MailboxStatistics -Database BD10 where {$_.DisconnectReason -eq “SoftDeleted”}

Ahora los eliminamos

$mbxs foreach {Remove-StoreMailbox -Database $_.database -Identity $_.mailboxguid -MailboxState SoftDeleted -Confirm:$false}

Con esto habrá liberado espacio WhiteSpace (709mb) pero sigue ocupando un espacio de 1Gb la base de datos. Pero si desmontamos la base de datos y hacemos un desfragmentado, nos liberara bastante

Get-MailboxDatabase -Status Sort name FT Name, DatabaseSize, AvailableNewMailboxSpace

Dismount-Database BD01

Eseutil /D .\bd01

Mount-Database BD10

Ahora si se ha quedado en casi nada la base de datos

Get-MailboxDatabase -Status Sort name FT Name, DatabaseSize, AvailableNewMailboxSpace

Purgar Deleted mailboxex

El comando es el mismo, solo que la razón de desconexión es “Disabled

$mbxs Get-MailboxStatistics -Database BD01 where {$_.DisconnectReason -eq “Disabled”}

$mbxs foreach {Remove-StoreMailbox -Database $_.database -Identity $_.mailboxguid -MailboxState Disabled -Confirm:$false}


Be the first to comment

Leave a Reply