How to Identify and Repair Files That Cannot Be Opened After Restore

KB ID: 4874
Product: Veeam Backup for Microsoft 365 | 8
Published: 2026-06-29
Last Modified: 2026-06-29
mailbox
Get weekly article updates
By subscribing, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.

Cheers for trusting us with the spot in your mailbox!

Now you’re less likely to miss what’s been brewing in our knowledge base with this weekly digest

error icon

Oops! Something went wrong.

Please, try again later.

Purpose

This article provides steps to identify and repair SharePoint, OneDrive, Teams files, and list attachments that were backed up with corrupted content due to the issue described in KB4835.
Note: These instructions apply only to non-immutable object storage repositories that contain backups. Verification and remediation for JET-based repositories and backup copies will be provided in a future update.

Solution

Before You Begin

Ensure you’re running Veeam Backup for Microsoft 365 version 8.5 or later before proceeding.

Repair Procedure

The following steps are to be completed for each non-immutable object storage repository that contains SharePoint, OneDrive, and Teams files. The steps in this section use PowerShell commands that reference variables set in one step and called in later steps.

Step 1: Run an Integrity Check
  1. Open PowerShell and import the Veeam Backup for Microsoft 365 PowerShell module:
Import-Module "C:\Program Files\Veeam\Backup365\Veeam.Archiver.PowerShell.dll"
  1. Run the following cmdlet for the repository being investigated:
$repository = Get-VBORepository -Name "Repository Name"
Test-VBORepository -Repository $repository
Step 2: Review the Results

If the Test-VBORepository output contains either of the following messages, proceed to Step 3:

The following site has corrupted file data
The following list contains items referencing corrupted files

If neither message appears, no further action is required for that repository.

Step 3: Scan Repository and Flag Affected Items

Run the following cmdlet to scan the repository and flag the affected items for re-backup. Their correct content will be redownloaded during the next backup job run in Step 4. Note that during scanning, the repository remains locked for any other operations, including backups, restores, and management. All backup and restore sessions related to this repository must be closed before running a repair session.

$session = Start-VBORepositoryRepairSession -Repository $repository -Type CleanMissingFilesData -Mode Full -Scope Full
To limit the scope to a specific SharePoint site, use the -WebIds parameter:
$session = Start-VBORepositoryRepairSession -Repository $repository -Type CleanMissingFilesData -Mode Full -WebIds '{InternalWebId}','{InternalWebId}'
Wait for the session to complete before proceeding to Step 4. To verify that a session has completed, check its status using the session object returned in Step 3:
Get-VBORepositoryRepairSession -Id $session.Id
Step 4: Run Backup Jobs

After the repair session has finished, run the backup jobs containing impacted SharePoint, OneDrive, and Teams files data. Files that are still present in production will be redownloaded with their correct content.

Step 5: Review Outcome and Identify Unrecoverable Files

To identify files that could not be redownloaded in Step 4, run the following cmdlet:

Test-VBORepository -Repository $repository -DetailedOutput

The output will be saved to logs located in: C:\ProgramData\Veeam\Backup365\Logs\IntegrityVerification\

Files that could not be redownloaded will have log entries containing the following two messages:

Backed-up file is empty: 
RepairHistory: FileWasReset

Error Line Example:

[Info] Integrity verifier generated message (repository ID: {repo-guid}, tenant ID: {tenantID}, type: FilesIntegrityVerifier, severity: Error, text: Backed-up file is empty: OrganizationId: {orgGuid}, SiteId: {siteID-guid}, WebId: {webID-guid}, InternalWebId: {intwebID-guid} (file: Id: {fileID-guid}, Version: 513, ContentLength: 0, BytesInStorage: 0, StorageType:None, RepairHistory: FileWasReset).)

To simplify this process, open the log files in Notepad++ and use the following regex search:

^(?=.*Backed-up file is empty)(?=.*RepairHistory: FileWasReset).*$

If this KB article did not resolve your issue or you need further assistance with Veeam software, please create a Veeam Support Case.

To submit feedback regarding this article, please click this link: Send Article Feedback
To report a typo on this page, highlight the typo with your mouse and press CTRL + Enter.

Spelling error in text

Thank you!

Thank you!

Your feedback has been received and will be reviewed.

Oops! Something went wrong.

Please, try again later.

You have selected too large block!

Please try select less.

KB Feedback/Suggestion

This form is only for KB Feedback/Suggestions, if you need help with the software open a support case

By submitting, you are agreeing to have your personal information managed in accordance with the terms of Veeam's Privacy Notice.
Verify your email to continue your product download
We've sent a verification code to:
  • Incorrect verification code. Please try again.
An email with a verification code was just sent to
Didn't receive the code? Click to resend in sec
Didn't receive the code? Click to resend
Thank you!

Thank you!

Your feedback has been received and will be reviewed.

error icon

Oops! Something went wrong.

Please, try again later.