Recently Microsoft made a change to the SharePoint Online versioning policy. Identical file re-uploads did not previously create new versions, and now they do. This can cause the synthetic SharePoint and OneDrive sensors to consume more storage quota than most customers would like, when classic list/library experience is enabled.
Read more about SharePoint Online Monitoring with Exoprise
You can read more about how versioning works in SharePoint Online:
For modern list/library experience, the sensor is able to work around versioning, perform and time the upload without committing it and creating a new version. But not for classic.
To ensure that customers don’t inadvertently consume more SharePoint storage, in classic mode, then they would like or breach their SharePoint quotas, we made changes to the SharePoint and OneDrive sensors. The sensors now check to see if versioning is enabled for a classic library and, if it is, it will only upload a test file once but continue to measure download performance. In some ways this is more typical usage of SharePoint (write once, read many).
If the sensor detects that versioning is disabled for the classic library then upload performance will continue to be measured. This enables administrators and customers to choose how the SharePoint sensors should operate but ensures that quotas are not improperly consumed.
How to Disable Library Versioning
There are various ways to disable SharePoint library versioning. Microsoft has documentation on how to do it:
- Enable and configure versioning for a list or library
- In 2018 Microsoft made it more difficult to disable versioning
- For libraries configured as “Site Assets Library” (in the library advanced settings) it’s still possible to disable versioning via the library versioning settings UI. This works for OneDrive as well (“OneDrive Settings” -> “More Settings” -> “Return to the old Site settings page” -> “Site Libraries and Lists” -> “Documents” -> “Advanced Settings”)
- For other libraries, as indicated in the above article, you have to use PowerShell (“Developer APIs, however, will still allow for setting any custom retention count and disabling versioning”).