What Is the Microsoft SQL Server Migration Assistant
The Microsoft SQL Server Migration Assistant (SSMA) is a free set of tools that helps you migrate schema and data from several source platforms into SQL Server or Azure SQL Database. It automates much of the translation work, provides assessment reports, and supports databases such as Oracle, MySQL, PostgreSQL, and Sybase. Instead of rewriting everything by hand, teams can use SSMA to generate T-SQL scripts, review them, and then move data with lower-risk, repeatable steps.
More from this site
Keep reading the latest coverage
Supported Source Platforms and Editions
SSMA is offered as modular extensions, each tailored to a specific source database. Common editions include SSMA for Oracle, SSMA for MySQL, SSMA for PostgreSQL, and SSMA for SAP ASE (formerly Sybase). Each edition handles the source-specific dialect, converting proprietary functions, data types, and PL/SQL or procedural logic into constructs SQL Server or Azure SQL can understand. Microsoft updates the tool to support newer source versions over time, so checking the latest release notes is worthwhile before planning a migration.
How the Migration Process Works
A typical SSMA workflow moves through assessment, schema conversion, data migration, and verification. In the assessment phase, the tool scans the source database and flags objects that may need manual adjustment, giving you an estimate of conversion risk and effort. During schema conversion, it translates tables, views, indexes, stored procedures, and triggers into T-SQL, which you review in the SSMA project before deploying. The data migration phase then moves rows using bulk-copy techniques, and the verification step compares source and target to confirm row counts and checksums match.
Key Features and Assessment Reports
- Automated schema translation: Converts data types, default values, and constraints across platforms.
- Code conversion: Rewrites procedural code and built-in functions where possible.
- Assessment reports: Highlights unsupported features, risky conversions, and line counts for manual intervention.
- Data migration: Handles bulk loads with configurable batch sizes and error handling.
- Verification: Compares source and target data to surface mismatches early.
- Azure integration: Targets Azure SQL Database and Azure SQL Managed Instance alongside on-premises SQL Server.
When to Use SSMA and When Not To
SSMA works best for migrations where the source schema is well-understood and the target is SQL Server or Azure SQL. It shines when you need a repeatable process across many objects and want early visibility into conversion issues. However, complex proprietary logic, heavily platform-specific extensions, or very large objects sometimes require hand-tuning after conversion. SSMA does not replace a solid migration plan; it accelerates one. Teams should allocate time for testing edge cases, reviewing the assessment report, and validating performance on the target system.
Getting Started and Practical Considerations
To begin, download the appropriate SSMA edition from Microsoft's documentation site, install it on a machine that can connect to both the source and target servers, and create a new project pointing at your source database. Define the target SQL Server or Azure SQL instance, run an assessment, and review the findings. Adjust conversion settings if needed, convert the schema, and then migrate data in stages. Throughout the process, keep a change log, back up the source, and involve stakeholders early so that decisions about handling unsupported features do not become last-minute surprises.