Sharepoint Version History Exports: Why They Fail And How To Succeed

Why SharePoint Version History Exports Fail

SharePoint version history exports can easily fail due to large site collection sizes, throttling limits being reached, or corrupted version histories in the SharePoint content databases. Understanding the root causes of failed exports is key to optimizing SharePoint for successful version history exports.

Common Export Failure Points

Large Site Collections

SharePoint site collections with very large numbers of sites, lists, libraries, and total items can overwhelm the SharePoint database servers during export. The extensive queries required to traverse version histories across millions of items will consume maximum database connections, query memory, I/O, and CPU. Export processes will time out or fail under these heavy loads.

Throttling Limits

Built-in SharePoint throttling limits constrain how fast queries can execute and how many resources they can consume simultaneously. If exports hit throttling thresholds on list view lookups, number of site actions per hour, or aggregate bandwidth consumption they will stall or fail to complete.

Corrupted Version Histories

Over time version histories can become corrupted through events like database failures, hard reboots during upgrades, or accidental farm deletions. The chain of versions may break for some items, preventing a complete history export. The higher the quantity of sites and items, the more likelihood of corrupted histories.

How to Optimize SharePoint for Successful Exports

Optimizing SharePoint farms for successful version history exports involves managing site collection sizes, adjusting throttling thresholds appropriately, cleaning up corrupted version histories, and offloading version data to remote storage. Taking a proactive approach in these areas prior to attempting a export can greatly improve outcomes.

Manage Site Collection Size

Break Up Large Sites

As site collections grow extremely large they become candidates for splitting into multiple smaller site collections. Dividing sites along departmental, organizational, geographic or other boundaries can better distribute CPU, memory, database, and I/O resource usage. Exporting smaller, more optimized site collections reduces failure risks.

Set Size Quotas

Configure site collection storage quotas to control runaway site collection growth over long periods of time. Enforce limits on quantity of sites, lists, items, and total storage consumption per site collection. Restrict site collections to reasonable volumes for your SharePoint farm hardware so exports do not overwhelm capabilities.

Adjust Throttling Thresholds

Increase List View Threshold

Increase the SharePoint list view lookup threshold to allow exports to lookup and traverse larger quantities of version history without throttling. Set this threshold based on the hardware capacity of your SharePoint farm for heavier export queries across millions of records.

Extend Request Duration Max

Lengthen the SharePoint maximum request duration throttling limit appropriately for long running version history export jobs. This allows export database queries to run for hours as needed to fully export lengthy chains of versions across massive libraries without failing due to duration throttling.

Clean Up Existing Version Histories

Identify Corrupted Histories

Audit version histories across content databases to identity corrupted histories prior to exporting. Warning signs include unexpected version gaps, holes, or missing expectations. Focus on the oldest and largest sites / libraries first since they are most likely to have issues.

Delete or Rebuild Damaged Entries

Deleting corrupted version histories resets that portion of the chain, though past versions will be lost. Rebuilding the history is possible in some cases to restore missing links. Address major corrupted histories proactively before attempting exports to maximize chances of export success.

Enable Remote Blob Storage

Offload File Versions to External Storage

Configure remote blob storage (RBS) on content databases to enable storing file version content externally on commodity storage vs internally in the SQL database. This dramatically reduces database size and improves export performance since file binary chunks are handled externally.

Reduce Database Bloat

Enabling RBS prevents SharePoint database bloat from 1TB+ file version histories filling up SQL databases internally over years of retention. The optimized database footprint improves query speeds for fast and reliable exports across all document versions.

Best Practices for Reliable Exports

Follow these vital best practices to help ensure successful and problem-free SharePoint online version history exports on an ongoing basis.

Test on a Copy First

Practice test exports on a copy of the live production environment first during optimizations to prevent unforeseen issues impacting end users. Test at full scale across exact clones of key production site collections, customizations, data volumes and configurations.

Export in Batches

Break up large version history export jobs into smaller, more manageable batches based on thresholds where failures occurred during testing. Export related subsets of sites together in phases then recombine all exports post-process.

Monitor Progress and Troubleshoot Issues

Actively monitor in-progress exports for signs of progress indicators stalling or failures occurring. Be prepared to rapidly troubleshoot and resolve the root causes by tuning parameters or resources to keep exports running.

Schedule During Off-Peak Hours

Run major version history export jobs during scheduled windows of low production system utilization to minimize resource contention. Typically heavier exports should execute evenings, weekends or holidays based on available windows.

Use PowerShell for Automated Exports

Leverage PowerShell scripts to execute exports through command line automation. Build in failure handling, notifications, restarts, troubleshooting and archival workflows for hands-off exports. Schedule PowerShell export scripts instead of raw export jobs directly for robustness.

Leave a Reply

Your email address will not be published. Required fields are marked *