Skip to main content
Our Tech Ideas

Migrating SQL Server Using Data Migration Assistant (DMA): A Step-by-Step Guide

Migrating SQL Server Using Data Migration Assistant (DMA): A Step-by-Step Guide

Migrating SQL Server using the Data Migration Assistant (DMA) can simplify the process, making it more efficient and less error-prone. DMA helps identify compatibility issues, assess migration readiness, and provides recommendations for optimization. In this blog post, we will guide you through the SQL Server migration process using DMA.

Understanding What Needs to Be Migrated

Before we dive into the steps, let’s recap the key elements that need to be migrated:

  1. Databases:
    • User Databases
    • System Databases (master, model, msdb, and tempdb)
  2. Logins and Users:
    • SQL Server logins and user mappings
  3. Jobs:
    • SQL Server Agent jobs
  4. Linked Servers:
    • Linked server configurations
  5. Configurations:
    • Server-wide and database-specific configurations
  6. SQL Server Agent:
    • Alerts, operators, and other related settings
  7. Replication Settings (if applicable):
    • Publisher, distributor, and subscriber settings
  8. Full-Text Catalogs:
    • Full-text indexes and catalogs
  9. Security:
    • Server-level permissions and endpoint configurations
  10. Database Files:
    • Data files (.mdf) and log files (.ldf)
    • Filestream data, if used
  11. Integration Services:
    • SSIS packages
  12. Analysis Services and Reporting Services:
    • SSAS databases and configurations
    • SSRS reports and configurations
  13. Service Broker Objects (if used):
    • Configuration and objects
  14. Backup and Maintenance Plans:
    • Maintenance plans and related configurations
  15. Custom Stored Procedures, Functions, and Triggers:
    • User-defined stored procedures, functions, and triggers in system databases
  16. SQL Server Configuration Manager settings:
    • Network protocols and aliases
  17. Extended Events and Profiler Templates:
    • Extended Events sessions and Profiler templates
  18. Database Encryption Keys (if TDE is used):
    • Database encryption keys and certificates
  19. Resource Governor Configuration (if used):
    • Resource pools and workload groups
  20. Performance Data:
    • Performance data collection settings and data

Steps to Migrate SQL Server Using DMA

1. Install and Configure Data Migration Assistant

  1. Download DMA:
  2. Install DMA:
    • Follow the installation instructions to set up DMA on your machine.

2. Assess the Source Server

  1. Create a New Assessment Project:
    • Open DMA.
    • Click on “New” to create a new project.
    • Select “Assessment” as the project type.
    • Choose the source server version and the target server version you plan to migrate to.
    • Name your project and click “Create.”
  2. Select Assessment Options:
    • Choose the assessment options based on what you want to analyze (e.g., database compatibility, feature parity).
  3. Connect to Source Server:
    • Provide the connection details for the source SQL Server.
    • Select the databases you want to assess.
  4. Run the Assessment:
    • Click “Start Assessment.”
    • Review the assessment results, focusing on compatibility issues, deprecated features, and breaking changes.

3. Migrate the Databases

  1. Create a New Migration Project:
    • In DMA, click “New” to create a new project.
    • Select “Migration” as the project type.
    • Choose the source and target server versions.
    • Name your project and click “Create.”
  2. Specify Migration Scope:
    • Choose the scope of your migration (e.g., schema only, schema and data).
  3. Connect to Source and Target Servers:
    • Provide the connection details for both the source and target SQL Servers.
  4. Select Databases to Migrate:
    • Select the databases you want to migrate.
    • DMA will generate a migration plan.
  5. Deploy Schema:
    • DMA will script out the schema from the source database.
    • Review the schema scripts and make any necessary adjustments.
    • Deploy the schema to the target server by running the generated scripts.
  6. Migrate Data:
    • Use DMA to migrate the data from the source to the target server.
    • DMA will handle the data transfer, ensuring consistency and integrity.

4. Post-Migration Tasks

  1. Transfer Logins and Users:
    • Use DMA to generate scripts for logins and users.
    • Execute these scripts on the target server.
  2. Migrate SQL Server Agent Jobs:
    • Generate scripts for SQL Server Agent jobs from the source server.
    • Execute these scripts on the target server.
  3. Transfer Linked Servers:
    • Configure linked servers on the target server as per the source server configurations.
  4. Review and Adjust Configurations:
    • Ensure that server and database configurations on the target server match the source server.
  5. Test the Migration:
    • Verify that all databases are accessible.
    • Ensure that logins and users can connect and have the correct permissions.
    • Test SQL Server Agent jobs to ensure they run as scheduled.
    • Check linked servers, full-text catalogs, and other configurations.
    • Run application tests to confirm that everything works as expected.

5. Cutover

  1. Plan and Execute Cutover:
    • Notify stakeholders of the planned downtime.
    • Perform a final backup of the source server.
    • Stop any applications or services using the source server.
    • Restore any final backups on the target server.
    • Redirect applications and services to the target server.
  2. Monitor Post-Migration:
    • Monitor the new server for performance and stability.
    • Address any issues that arise promptly.


Migrating SQL Server using Data Migration Assistant (DMA) can streamline the process, providing a more efficient and reliable migration path. By following the steps outlined above and leveraging DMA’s assessment and migration capabilities, you can ensure a smooth transition with minimal disruption to your services. Thorough testing and a well-documented rollback plan are key to a successful migration. Happy migrating!