In January 2018 Microsoft released the SharePoint Migration Tool for file-share to SharePoint Online (SPO) migrations. Prior to this announcement migration options were limited to PowerShell or 3rd party tools like Sharegate. I’ve been lucky enough to have access to Sharegate and use it for more than just file and site migrations. Auditing, reporting, security modification and review help to justify the expense but not all situations require such a feature rich tool.
In this blog post I will compare PowerShell, Sharegate and the new SharePoint Migration Tool to see if there are any performance differences between the three and to help identify use cases for each tool.
Test Scenario’s:
- Test throughput by migrating 5 GB file archive to a Team site
- Assign custom site column values to files during migration
- Perform pre-migration tests and remediate “bad” file names
Test Scenario #1: Throughput Test
PowerShell Migration
I am using the steps outlined in article “Upload on-premises content to SharePoint Online using PowerShell cmdlets” to perform the migration test.
- Duration: 26 minutes
- Comments: The PowerShell cmdlets work as expected and most IT admins should have no issues in following and executing the article steps. Non-IT admins would probably get hung up on the scripting – especially when there is a, minor, typo in the command syntax. See image below.
Sharegate Migration
- Duration: 10 minutes
- Comments: Easy to use and fast, Sharegate does not disappoint. Powerful tool for IT admins.
SharePoint Migration Tool
- Duration: 17 minutes
- Comments: The SharePoint Migration Tool is easy to use and performs well. Both IT admins and non-IT admins should be comfortable with this tool.
Test Scenario #2: Assign Custom Site Column Values During Migration
PowerShell Migration
There is no way to assign custom site column values during migration using the “New-SPOMigrationPackage” cmdlet.
- Result: Not possible
- Comments: This should be possible with additional manual steps and custom scripting but nothing out of the box with the “New-SPOMigrationPackage” cmdlet.
Sharegate Migration
- Results: Success
- Comments: An extra step to add the custom site column value is required to the basic migration steps. More complex mapping options are available for more complex operations. I like the simplicity while still having advanced options available.
SharePoint Migration Tool
- Results: Not possible
- Comments: This is not surprising and not a deal breaker. Additional manual steps and custom scripting but nothing out of the box with the SharePoint Migration Tool.
Test Scenario #3: Pre-migration tests and remediate “bad” file names
“Bad” files names include invalid characters (” * : < > ? / \ |) and lengthy file name and path (400 Unicode bits).
PowerShell Migration
- Result: Possible with custom scripting
- Comments: This could be problematic for high volume migrations where the invalid files are lost in the mix. Some form of pre-check and post-check steps should be performed to ensure file equal file counts.
Sharegate Migration
- Results: Success
- Comments: Running the pre-check during the basic migration is required.
SharePoint Migration Tool
The SharePoint Migration Tool does not perform pre-migration tests but has the option not to migrate files with invalid characters.
- Results: Not possible
- Comments: The same pre and post checks should be performed. In most situations I think this is a moot point as Windows generally doesn’t allow these “bad” file names in the file system anyway.
Conclusions
Sharegate impresses with its simplicity of use while maintaining advanced options for advanced operations. From management to migrations Sharegate is my tool of choice as a SharePoint administrator.
The SharePoint Migration Tool is a welcome addition to those without Sharegate and for those who are not comfortable with PowerShell. The price, at zero dollars, is very appealing. The SharePoint Migration Tool will be my recommended solution of choice for straight forward migrations.
PowerShell works and every SharePoint administrator should be comfortable writing/reading and executing PS scripts. PowerShell shines with batch or unattended migrations.
Thanks for stopping by.
NY