SP2010 → SPO Migration Troubleshooting Matrix
|
# |
Issue / Category |
Symptoms |
Root Cause |
Resolution / Fix |
Validation Step |
|
1 |
Unsupported Features |
Missing pages, web parts, or errors after migration |
Deprecated features (e.g., InfoPath, 2010 workflows,
sandbox solutions) |
Replace with Power Apps / Power Automate / SPFx; rebuild
customizations in Modern UI |
Verify feature parity and
test forms/workflows in SPO |
|
2 |
Classic Workflow Failure |
2010 workflows not triggering |
2010 workflows retired in SPO (Aug 2020+) |
Recreate workflows in Power Automate or upgrade to 2013
workflows |
Trigger and validate each
workflow path |
|
3 |
Large Content Database |
Migration fails or times out |
SPO 200 GB site collection limit |
Split content into smaller sites; archive old data;
migrate incrementally |
Check migrated site sizes in
SharePoint Admin Center |
|
4 |
File/Path Length Issues |
File skipped with “Path too long” |
URL > 400 characters in SPO |
Shorten folder structure; rename long files |
Re-run migration logs → zero
“Path too long” errors |
|
5 |
Unsupported Characters in File Names |
File skipped during migration |
Invalid characters (# % & { } ~) |
Clean up names via PowerShell or pre-migration report |
Validate all skipped items
remediated |
|
6 |
Metadata Missing |
Created/Modified dates or Authors incorrect |
Metadata not mapped or not preserved |
Enable “Preserve authorship” in SPMT/ShareGate; run
migration with full control |
Verify metadata fields in SPO
list/library |
|
7 |
Orphaned Users / Permissions |
Access denied or wrong permissions post-migration |
Legacy AD users not mapped to Azure AD |
Clean up orphaned users; use Azure AD groups |
Check “Site Permissions” and
confirm role accuracy |
|
8 |
Custom Master Pages / Branding Broken |
Pages look distorted or missing layout |
Classic master pages not supported in Modern UI |
Convert sites to Modern; apply SPO themes |
Open site → Confirm Modern
page rendering |
|
9 |
Custom Solutions (WSP) |
Features missing or failing |
WSP/Farm solutions not deployable to SPO |
Rebuild with SPFx or Power Apps |
Validate SPFx deployment on
target site |
|
10 |
BCS or External Content Type Issues |
External lists fail to load |
On-prem BCS connection not portable to cloud |
Use Power Automate or Azure Logic Apps |
Validate new data connection
in SPO |
|
11 |
SPMT Authentication Errors |
SPMT fails login or “token expired” |
MFA/conditional access blocking |
Register app in Azure AD; run SPMT with app credentials |
SPMT connects successfully
and transfers content |
|
12 |
Throttling / Slow Migration |
Migration stops intermittently |
Microsoft 365 throttling |
Reduce parallel jobs; migrate off-peak; use incremental
migration |
Monitor migration rate →
steady without pauses |
|
13 |
Search Not Showing New Content |
New content not searchable |
SPO search index delay |
Wait 24–48 hours; reindex site/library |
Search new item successfully |
|
14 |
Broken Links |
Internal links point to old SP2010 URLs |
Absolute URLs hard-coded |
Replace with relative URLs or use link-fix scripts |
Validate internal hyperlinks
on key pages |
|
15 |
Navigation / Quick Launch Missing |
Navigation links lost after migration |
Custom navigation not mapped |
Rebuild navigation manually or via PowerShell |
Compare with pre-migration
navigation |
|
16 |
User Profile Sync Issues |
User data not updated in SPO |
Missing or outdated Azure AD sync |
Run Azure AD Connect sync; update UPNs |
Validate updated profiles in
M365 Admin |
|
17 |
Version History Missing |
Documents show only 1 version |
Tool settings not preserving versions |
Enable “Preserve Version History” in migration tool |
Check file → Version History
shows all versions |
|
18 |
Lookup Columns Broken |
Lookup fields not resolving |
Source/target list IDs changed |
Recreate lookup column relationships |
Validate field lookup
references |
|
19 |
Custom Scripts Disabled |
Scripted pages not functioning |
SPO blocks custom scripts by default |
Enable custom scripting via PowerShell (if required) |
Verify functionality of
script-based pages |
|
20 |
Performance Post-Migration |
Pages load slow in SPO |
Large lists, legacy web parts |
Enable list indexing; convert classic pages |
Confirm response time
improved (<3s typical) |
|
21 |
Alerts Not Working |
Users not getting notifications |
Alerts not recreated post-migration |
Recreate alerts manually or via Power Automate |
Trigger change → user
receives alert |
|
22 |
Large List (>5,000 items) |
List view threshold error |
SPO list view threshold limit |
Use indexed columns, filters, or modern views |
View renders successfully
without error |
|
23 |
Unsupported Web Templates |
Site migration fails |
Template (e.g., Blog, MySite) not supported |
Recreate with modern communication/team site |
Migration completes
successfully |
|
24 |
Retired Workflows in Migration Report |
Warnings in ShareGate/SPMT logs |
Detected 2010 workflows |
Rebuild or delete before migration |
No workflow-related warnings
remain |
|
25 |
Email-Enabled Libraries Missing |
Incoming email feature lost |
SPO doesn’t support email-enabled libraries |
Use Power Automate with shared mailbox |
Verify email → document
arrives in library |
Recommended Pre-Migration Checks
|
Check |
Tool |
Purpose |
|
Pre-migration assessment |
SMAT (SharePoint Migration Assessment Tool) |
Identify unsupported features, long URLs, large lists |
|
Content inventory |
PowerShell / ShareGate |
List of sites, libraries, permissions |
|
Permissions cleanup |
PowerShell |
Remove orphaned AD accounts |
|
Workflow inventory |
Nintex / PowerShell |
Document all 2010 workflows |
|
File & path validation |
PowerShell |
Detect long paths or illegal characters |
🧰 Recommended Post-Migration Validation
- ✅
Compare item counts between SP2010 and SPO
- ✅
Verify permissions for key users/groups
- ✅
Check version history and metadata preservation
- ✅
Validate navigation and links
- ✅
Ensure workflows and alerts are functional
- ✅
Run PowerShell reports for site health and quota
- ✅
Reindex sites if search results are incomplete
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.