Get Started with Azure DevOps Data Migration
Get Started with Azure DevOps Data Migration
Before you use the Azure DevOps Data Migration Tool to migrate your database with high fidelity, it’s important to understand some key concepts.
What Data Gets Migrated?
Not all data gets migrated during the process. Separate databases outside the collection, such as reporting and SharePoint data, don’t get migrated. Here’s more detail on what does and doesn’t get migrated:
Included Data
- Collection Mapping: Each collection in Azure DevOps Server corresponds to one database. During migration, the entire collection - including work items, history, Team Foundation Version Control (TFVC) changesets, Git data, build definitions, and more - gets migrated to Azure DevOps Services. Work item, TFVC changeset, and Git commit numbers/IDs remain unchanged.
Excluded Data
- Extensions: Extensions must be reinstalled post-migration. You should publish local extensions to the Marketplace as private extensions and share them with the account.
- Service Hooks: Service Hooks data isn’t included in the migration, so you’ll need to reconfigure them after migration.
- Load Tests: Load test data isn’t brought over, so you’ll need to reconfigure load tests after migration.
- Pipeline Agents and Agent Pools: You’ll need to reconfigure pipeline agents and agent pools after migration.
- Mentions: User mentions in work item discussions retain on-premises identity, not the new Microsoft Entra ID. Hovering on usernames won’t display contact cards, and some hyperlinks might be invalid.
- Project Server Integrations: These aren’t available for Azure DevOps Services (e.g. XAML Builds, Microsoft Test Manager, SharePoint, SQL Data Warehouse).
- Preview Features: Some Azure DevOps Server features can be previewed during migration to Azure DevOps Services.
Project Limits
Azure DevOps Services has a limit of 1,000 projects per organization, though we recommend keeping it under 300. Beyond this limit, certain experiences like connecting to the organization from Visual Studio may degrade. To stay within the limit, consider splitting the collection or deleting older projects.
Understanding On-Premises Databases and Azure DevOps Organizations
It’s important to understand how the database migration process works at a high level:
- Team Project Collection: Collections in Azure DevOps Server are physical containers for team projects and their artifacts. Each collection equates to a single SQL database and is the source of migrations to Azure DevOps Services.
- Azure DevOps Services Organization: Organizations are the management unit in the cloud-hosted service. They map 1:1 to the concept of a team project collection in Azure DevOps Server, so organizations are the destination of migrations.
When you migrate a team project collection SQL database, the Data Migration Tool creates a new Azure DevOps organization with a user-provided name. You can’t migrate a collection database into an existing Azure DevOps Services organization or consolidate multiple collection databases into a single organization - the mapping is strictly one-to-one.
Choosing a Data Center
When setting up your Azure DevOps Services organization, you can choose the location for your data. Make a note of the region’s shorthand code during initial sign-up for use later in the migration process.
Understanding Pricing
You likely already have the licenses you need to use Azure DevOps Services. We’ve provided a worksheet to help you estimate your user license needs:
# | Column 1 | Column 2 |
---|---|---|
1 | Number of team members | |
2 | Number of stakeholders | |
3 | Subtract line 2 from line 1* | |
4 | # of Visual Studio subscribers** | |
5 | Subtract line 4 from line 3 | |
6 | Subtract line 5 from line 5*** |
- *Stakeholders are free
- **Visual Studio Subscribers have Azure DevOps Services included
- ***Each Azure DevOps organization gets 5 free users
In addition to the core features, Azure DevOps offers value-added services like hosted load testing and Test Manager extensions that may incur additional costs. Evaluate your requirements and budget accordingly.
For more information on cost-effective options, see the Billing Overview and the Azure Pricing Calculator. If you have specific questions, contact your DevOps Partner, Microsoft Reseller, or Microsoft Developer Solutions Sales Specialist.
Reserving Your New Organization
To ensure your desired organization name is available for the final migration, we recommend reserving it early on. Here’s how:
- Initial Reservation:
- Create an organization with a temporary name, e.g.
https://dev.azure.com/contoso-temporary
. - Reserve this temporary name for your future migration.
- Create an organization with a temporary name, e.g.
- Final Migration:
- Perform the final migration into the
https://dev.azure.com/contoso-temporary
organization. - After successful migration, rename the reserved organization to open your desired name, e.g.
https://dev.azure.com/contoso
. - Immediately rename the migrated organization to your desired name.
- Optionally, you can delete the originally reserved and renamed organization.
- Perform the final migration into the
This approach ensures a smooth transition while reserving your preferred organization name.
Next Steps
To continue your migration journey, review the prerequisites and related articles.