TROUBLESHOOTING 201 | SHAREPOINT - STORAGE ISSUES AND RECOVERY OPTIONS
- 14 minutes ago
- 7 min read
Author: Jonathan Stuckey
Audience: SharePoint consultant; M365 support engineer; Information Management advisor
The following is addressing tenancy administration and advances for storage and data-management. It outlines the practicalities of the new tools and policies for managing large file-types and associated storage consumption by the default Microsoft 365 configurations.

Mid-2025 Microsoft PowerShell tools releases addressed problems resulting from historic configuration defaults and application design models introduced by Microsoft across (SharePoint) storage. Core application areas supported in OneDrive, Microsoft Teams, and SharePoint natively are affected when using these commands.
This article discusses usefulness of these storage clean-up options. It assumes that you are familiar with scripting, delegated role-based privileges and the Purview retention and disposal models.
WARNING: Storage and capacity management issues can result in data-loss. Always address the immediate capacity and back-up needs before applying platform configuration changes.
Problem statement
Storage and capacity warnings in SharePoint Admin (or worse on an active site), showing you hitting or exceeding available capacity:

This can feel a bit premature as the alert-bar will start displaying when you still 30% of capacity available. Unfortunately, it doesn't really change when it notifies you have hit 100%!
The impacts of exceeding storage capacity limits in a tenancy range from:
Rank | Impact | Severity | Outcome |
1 | Inability to upload or save content (documents, media, or list items) to the site via desktop app, browser or Microsoft Teams. Potential data-loss if assume file saved and hasn't. | Critical | Data Loss |
2 | Failure to create new site, library or Microsoft Teams from workflow interruptions, blocked onboarding, and inability to write-updates to site. | High | Operational Halt |
3 | Access / Read failures impacting upload notifications, workflow actions (provisioning) and produce access or system availability errors. | High | Critical Workflow Interruption |
4 | Sync Failures from OneDrive for Business connection. Files in libraries can produce version conflicts or file in-accessible | Medium - High | Version Conflicts |
5 | Sharing and notification failures - built-in sharing notifications fail to be sent; alerts fail with apparent 'misconfiguration' (erroneous) | Medium - High | Collaboration Disruption |
6 | Search / Indexing Failures with updates from changes, can return incomplete results, or become inconsistent | Medium | Productivity Loss |
7 | Performance Degradation - slow-loading in opening pages, retrieving lists, or rendering dashboards. | Medium | Operational Inefficiency |
8 | Loss of Site Collection Feature visibility and reduced reporting on affected sites | Medium - Low | Management Limitations |
9 | Broken links newly created ones may fail; Versioning issues with numbering mismatch (or version not picked-up) | Medium - Low | Minor Data Integrity Concerns |
10 | User frustration and call-numbers - impact from UI with poorly described error messages | Low | Frustration, Support Overhead |
Root-cause
Typically root-cause for storage management issues relate to:

The issues with storage management in SharePoint usually stem from one of the following:
highly active and heavily trafficked site(s) where version settings are uncapped/excessive and:
have frequently accessed and edited files that over-write data (e.g. budget reporting, project tracking, corporate comms..)
business critical documents that have multiple parties accessing and managing content (e.g. annual report, audit documents, investigations, Personnel files, contracts…)
storage of application file-formats which have typically result in large file-sizes:
large media or audio files - increasingly challenging with storage of high-res (4K+) files
uploaded personal archive files (.zip, .rar etc) retained from migrations, or closed projects
CAD or design package drawing files (.dwg, dxf, stl etc)
stalled disposal of items in a site's Preservation Hold Library - not releasing space,
failed clean-up of OneDrive's under retention post off-boarding, and manager approval,
failed clean-up post release or removal of Retention policy on a site, or
no means to address transient items that need to be cleared when site should be closed/archived.
Remediation
Once you identify the (potential) root-cause of your storage issue, then you can look at options to tackle system capacity leakage problems and plan remediations for first-two problem sources:
reducing the trailing version history - general
addressing large media file storage consumption - targeted
There are other activities to undertake such as long-term archive management, service back-up and recovery etc, but this article is only addressing the above tasks which have the options of direct intervention.
Administration options
Unfortunately, this is an area which Microsoft currently does not provide a cohesive set of tools or approach. Tools released in 2025 improve the odds of addressing the storage leakage problem by:
introduction of new policy option Microsoft Purview (Priority Cleanup), or
new PowerShell commandlets for the scripting adept.
CAUTION: Priority Cleanup policy and PowerShell batch-jobs will result in unrecoverable data-loss from permanent destruction of items captured by the Policies rule definition.
Preparation
Make sure you have Microsoft Graph enabled on the tenancy before running the Impact analysis reporting (with command 'What if' option). This enables more comprehensive reporting capture
Assess toolsets like ShareGate custom-report options for flexible, immediate data reporting - without the increased overhead of script development and maintenance for current-state reports.
Priority Cleanup Policy (Preview)
Priority Cleanup should only be employed for a forced clean-up when the built-in automation, back-end tools or PowerShell options for cleaning-up site(s) fail to work as expected.
Purview Retention can result in situations that need methodical root-cause analysis to resolve, this option should only be considered in the event of applied Retention policy or label:
not being processed correctly by system,
action having stalled and not feeding items from disposal to recycle bin, or
significant build of items in "Review" stage of disposal - without person to review and process items
...net result - large unprocessed PHL file-volumes, and invisible root-cause of storage consumption.
Powershell Batch-jobs
PowerShell options should only be applied by support of experienced and adept IT Administrators who understand and can apply safeguards in the use of commandlets.
The SharePoint Management commandlets setup background batch-jobs.
Expire versions on a site:
New-SPOSiteFileVersionBatchDeleteJob -Identity $siteUrl -DeleteBeforeDays <days>Expire versions on a library:
New-SPOListFileVersionBatchDeleteJob -Site $siteUrl -list $libraryName -DeleteBeforeDays <days>Use-cases
Microsoft's Priority Cleanup article is very lean on use-cases (beyond "Teams meeting recordings and transcripts" and "delete files in PreservationHoldLibrary"), and the PowerShell reference content even less, so we have included some practical use-cases which lend themselves to requiring this kind of intervention:
Scenario:
Disposing of Digital Source Record copies, from a migrated system, tenancy or site. I.e. historical copies of source data which has subsequently been migrated and verified when moved.
With SharePoint system or site migrations original copies of documents (data) are left in the source system or site being decommissioned. Often the (legacy) site may be held under a Retention Policy or has applied labels, resulting in duplicates and storage capacity 'bound' until processed.
Scenario:
Global Retention Policy usually enabled by IT or Infrastructure partner for SharePoint sites and / or OneDrive for Business sites.
Historic application of global policies with excessive duration (e.g. 25yrs+) and often using 'Retain forever' action. These will cause storage consumption to blow-out and may leave the organisation with significant operational exposure under legal or regulatory rules.
Scenario:
Inherited system settings and defaults exacerbating issues file storage consumption from extremely active operational documents (e.g. budget reporting, project schedules, communication calendars etc).
Most frequent being Microsoft's imposed default of '500 major versions' with the introduction of co-authoring, is now shown to cause massive capacity blow-out in highly transactional sites or frequently updated media or visual-drawing files; Plus Classic on-premises farm server default included 'unlimited' versions in some library templates, and migration tools mirror settings in SPO when content is imported.
INFO: Microsoft's Purview Priority Cleanup article and knowledge base pages are poorly structured and confusing because they have been adapted from Exchange Online policy for SharePoint.
Checks-and-balances
Delegated Role based permissions

In order for Microsoft to avoid potential issues from permitting 'by-pass' of governance controls and policies, these options have been implemented with multi-layered delegations and approvals required before they are enacted on your environment.
Purview policy
New Delegate roles
Additional Approval workflow
Dual-administrator deployment
This means you can't just approve and run the policy on production, by yourself.
Powershell
Application ID is required for PowerShell module (app registration process)
Multi-level authentication for delegated administration role required to run command.
Modern script security model means have to be aware of what you run against your tenancy.
Assessment
The new options from Microsoft (powershell, and policy) are both big, blunt instruments - but they work.
Option | Benefits | Drawbacks |
|---|---|---|
PowerShell {commandlet} | It works large volumes of files in libraries - quickly. | Limited control over targeted batches or listing of files - only apply to file-types in whole libraries. |
Can be scripted for automation, by a competent engineer. | You cannot access the logging in Disposal report (Purview) or Audit log. Requires scripting. | |
Introduction of reporting, simulation or approvals requires development. | ||
Purview Priority Cleanup policy | It is easy to setup, with checks-n-balances before enacting. | Requires multiple people with delegated roles, trained in using multiple Purview modules |
Will work across multiple sites based on Query definition or targeting | Even less-advanced rules require specific Regex formulas - with undocumented limitations | |
Has a simulation mode to provide chance to review before enacting disposal | Reporting is crude and requires use of PowerPlatform or Powershell to provide comprehensive data |
If you have skilled staff, a test tenancy with decent amount of active content, and mandate to apply wholesale clear-out (without breaching any business or regulatory rules), then the Powershell script is a good tool for the kit bag - but has overhead.
Resources
Microsoft Learn | SharePoint Online troubleshooting - SharePoint
Microsoft Learn | Use priority cleanup to expedite the permanent deletion of sensitive information
Microsoft Learn | Override holds to clean up files for Copilot and reclaim storage
Microsoft Learn | Trim existing versions on site, library, or OneDrive - SharePoint in Microsoft 365
If you have ShareGate
Disclaimer
All content was created by author, based on released information from Microsoft and step-by-step testing and verification before committing to article.
Generative AI was used in the creation of images in this article. No AI was used for screenshots, reference information. Any errors or issues with the content in this article are entirely the authors responsibility.
Need help to develop your operational support? Give us a call
If you want to talk about troubleshooting with Microsoft 365 and SharePoint, or need help with the right-way to go about it, contact us at: hi@timewespoke.com
About the author: Jonathan Stuckey








Comments