NetWorker: Restore of single mailbox from Deleted archive Database fail
Summary: NetWorker: Restore of single mailbox from Deleted archive Database fail
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
No changes
Exchange online archive database are deleted.
Customer need to restore single mailbox from the deleted archive database.
Ran RDB and restored the DB.
Using the Exchange PS command "New-mailboxRestoreRequest" failed with error:
Mailbox"xxxxxxxxx" doesn't exist on database "YYYYY"
Exchange online archive database are deleted.
Customer need to restore single mailbox from the deleted archive database.
Ran RDB and restored the DB.
Using the Exchange PS command "New-mailboxRestoreRequest" failed with error:
Mailbox"xxxxxxxxx" doesn't exist on database "YYYYY"
Cause
Customer used the wrong command to restore Archive mailbox
Resolution
Restoring a database is copying the physical files from a backup medium (disk or tape) to the appropriate file locations for database operation. Recovery is process of updating database files restored from backup w/changes made to the database since backup, typically using redo log files.(Restored backup files + changes = Recovery).
Restore can be done with two different options:
Option 1:
The restore of RDB completed successfully and data reported using NW (from NMM GUI) or Exchange (using the following command) without issue:
[PS] C:\Windows\system32>Get-MailboxDatabase "YYYYYY" | Get-MailboxStatistics | ft displayname,totalitemsize| Out-File C:\YYYYYY_List.txt
.
Personal Archive - user_example (123456) 1.759 GB (1,888,296,806 bytes)
..
So, in order to get the correct archive mailbox GUID, we ran the following Exchange command:
[PS] C:\Windows\system32>Get-MailboxStatistics -database "YYYYYYY"|fl legacyDN,displayname,mailboxGUID,disconnectreason| Out-File C:\YYYYYY_GUID_List.txt
[PS] C:\Windows\system32>
LegacyDN : /O=CORP/OU=EXCHANGE ADMINISTRATIVE GROUP (YGFODHOFHHFFOH)/CN=RECIPIENTS/CN=user_example (123456)123
DisplayName : Personal Archive - user_example (123456)
MailboxGuid : aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
DisconnectReason :
+ FullyQualifiedErrorId : 65F1A251,Microsoft.Exchange.Management.RecipientTasks.RestoreMailbox
Then, run the following command to recover and add "baditemlimit" to avoid the failure due to bad files:
[PS] C:\Windows\system32>Restore-Mailbox -RecoveryDatabase "YYYYYYY" -RecoveryMailbox aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee -TargetFolder "Personal Archive - user_example (123456)" -Identity "user_example (123456)" -baditemlimit 200000
At the end, the following will be reported:
......
MoveType : Restore
MoveStage : Completed
StartTime : mm/d/yyyy hh:mm:ss *M
EndTime : mm/d/yyyy hh:mm:ss *M
StatusCode : 0
StatusMessage : This mailbox in the recovery database has been restored to the target user mailbox.
ReportFile : E:\Microsoft Exchange\V14\Logging\MigrationLogs\restore-Mailboxyyyymmdd-hhmmss-1234567.xml
Option 2:
Follow below commands to restore the archive items from a recovery database:
Restore an archive mailbox from a recovery database YYYYYY using the following command:
Get-Mailbox "user_example" | % { New-MailboxRestoreRequest -SourceDatabase YYYYYYY -SourceStoreMailbox "Personal Archive - user_example (123456)" -TargetMailbox $_.Identity -TargetIsArchive }
This will fetch User s mailbox first and pass it to the New-MailboxRestoreRequest cmdlet using the required parameters.
When you verified everything is restored, you can remove the completed restore request using Get-MailboxRestoreRequest. For example, to remove all completed restore requests in conjunction with Remove-RestoreRequest cmdlet use the following:
Get-MailboxRestoreRequest | where { $_.Status -eq Completed } | Remove-MailboxRestoreRequest Confirm:$false
Restore can be done with two different options:
Option 1:
The restore of RDB completed successfully and data reported using NW (from NMM GUI) or Exchange (using the following command) without issue:
[PS] C:\Windows\system32>Get-MailboxDatabase "YYYYYY" | Get-MailboxStatistics | ft displayname,totalitemsize| Out-File C:\YYYYYY_List.txt
.
Personal Archive - user_example (123456) 1.759 GB (1,888,296,806 bytes)
..
So, in order to get the correct archive mailbox GUID, we ran the following Exchange command:
[PS] C:\Windows\system32>Get-MailboxStatistics -database "YYYYYYY"|fl legacyDN,displayname,mailboxGUID,disconnectreason| Out-File C:\YYYYYY_GUID_List.txt
[PS] C:\Windows\system32>
LegacyDN : /O=CORP/OU=EXCHANGE ADMINISTRATIVE GROUP (YGFODHOFHHFFOH)/CN=RECIPIENTS/CN=user_example (123456)123
DisplayName : Personal Archive - user_example (123456)
MailboxGuid : aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
DisconnectReason :
+ FullyQualifiedErrorId : 65F1A251,Microsoft.Exchange.Management.RecipientTasks.RestoreMailbox
Then, run the following command to recover and add "baditemlimit" to avoid the failure due to bad files:
[PS] C:\Windows\system32>Restore-Mailbox -RecoveryDatabase "YYYYYYY" -RecoveryMailbox aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee -TargetFolder "Personal Archive - user_example (123456)" -Identity "user_example (123456)" -baditemlimit 200000
At the end, the following will be reported:
......
MoveType : Restore
MoveStage : Completed
StartTime : mm/d/yyyy hh:mm:ss *M
EndTime : mm/d/yyyy hh:mm:ss *M
StatusCode : 0
StatusMessage : This mailbox in the recovery database has been restored to the target user mailbox.
ReportFile : E:\Microsoft Exchange\V14\Logging\MigrationLogs\restore-Mailboxyyyymmdd-hhmmss-1234567.xml
Option 2:
Follow below commands to restore the archive items from a recovery database:
Restore an archive mailbox from a recovery database YYYYYY using the following command:
Get-Mailbox "user_example" | % { New-MailboxRestoreRequest -SourceDatabase YYYYYYY -SourceStoreMailbox "Personal Archive - user_example (123456)" -TargetMailbox $_.Identity -TargetIsArchive }
This will fetch User s mailbox first and pass it to the New-MailboxRestoreRequest cmdlet using the required parameters.
When you verified everything is restored, you can remove the completed restore request using Get-MailboxRestoreRequest. For example, to remove all completed restore requests in conjunction with Remove-RestoreRequest cmdlet use the following:
Get-MailboxRestoreRequest | where { $_.Status -eq Completed } | Remove-MailboxRestoreRequest Confirm:$false
Affected Products
NetWorkerArticle Properties
Article Number: 000056799
Article Type: Solution
Last Modified: 12 Mar 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.