Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Microsoft SQL Server Migration Assistant (SSMA) for MySQL to assess a MySQL database, convert its schema and SQL objects, migrate its data, and validate the result in SQL Server. SSMA automates much of the work, but type mappings, stored programs, triggers, unsupported storage engines, and application changes still need review and testing.

What SSMA can migrate—and what it cannot

Microsoft’s SSMA for MySQL is a free tool for assessing and migrating MySQL databases to SQL Server and supported Azure SQL targets. Microsoft’s download listing identifies SSMA version 10.6, published September 1, 2026. It lists MySQL 4.1 and later as supported sources, and SQL Server 2016 and later, Azure SQL Database, and Azure SQL Managed Instance as targets.

SSMA can assess a source database, convert schema objects and SQL statements, migrate data, and support migration testing. It can convert tables, indexes, constraints, views, procedures, functions, and triggers. It does not migrate the MySQL information_schema or MySQL system schemas. MySQL database physical parameters also do not map directly: SSMA treats a MySQL database more like a schema name and maps it to a SQL Server database-and-schema combination.

Check prerequisites before starting

Install the SSMA for MySQL client on a computer that can reach both the MySQL source and the SQL Server or Azure SQL target. Microsoft’s current listing names .NET 8.0 or later, MySQL Connector/ODBC v5.1, 4 GB RAM, and access and permissions on the target SQL Server host among the client requirements. Confirm the current download page’s requirements for your environment before installation.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For either endpoint, confirm that the server is reachable, the credentials have the required permissions, and firewall rules allow the connections. Record the source and target versions, character sets and collations, SQL modes, storage engines, and approximate data volume. Make a restorable backup, identify how you will roll back, and rehearse the process with a representative test copy before production cutover; Microsoft does not publish a universal downtime estimate for this migration.

Choose a data migration method

SSMA offers client-side and server-side data migration. The server-side option requires the SSMA Extension Pack and MySQL providers on the SSMA computer, plus a running SQL Server Agent. SQL Server Express permits client-side migration only. Choose the method that meets your environment’s requirements and confirm its prerequisites before the data load.

Convert the database in stages

Microsoft’s documented workflow is staged: connect to both systems, map the source, assess and convert objects, publish the target schema, migrate data, then inspect and validate the result. The names below describe the actions rather than relying on version-specific menu paths.

  1. Create an SSMA project. Select the appropriate target platform and save the project so its mappings and conversion settings are retained.
  2. Connect to MySQL. Provide the source connection details and credentials, then select the database to assess. Do not select system schemas as migration targets.
  3. Connect to SQL Server or Azure SQL. Confirm that the target is reachable and that the account can create or update the intended database objects.
  4. Map the source database and schema. SSMA’s default maps a MySQL schema to a same-named SQL Server database/schema combination. Customize the mapping if your target organization requires a different database or schema name.
  5. Run an assessment. Review the assessment and conversion findings before publishing objects. Preserve the report and warnings as a work list for conversion decisions and testing.
  6. Review type and object conversion settings. Inspect non-default mappings and the conversion of routines, triggers, and other SQL objects. Resolve warnings where possible and document any manual work that remains.
  7. Convert the objects. Generate the target definitions, then inspect the converted schema and SQL statements rather than treating a successful conversion as proof of equivalent behavior.
  8. Publish the target schema. Synchronize the converted schema to the target or save and run the generated script. Verify that the expected objects were created.
  9. Migrate data. For a pilot, load a representative subset first. Once the method and results are acceptable, run the planned full migration.
  10. Review reports and validate. Inspect SSMA’s Data Migration Report and compare the target with the source before directing applications to the new database.

Review MySQL-to-SQL Server type mappings

SSMA provides default type mappings, but it also lets you override them at the project, object-category, database, table, or individual-object level. Review the proposed mapping before conversion, especially where the two systems represent values differently. Microsoft’s conversion settings include choices for ENUM, SET, UNSIGNED values, YEAR, zero dates, and function conversion behavior.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Boolean and bit values: Check how the source column’s values and intended meaning map to the SQL Server type. Verify both existing data and the values applications will write.
  • Binary and BLOB columns: Check the selected target type and length limits against actual and expected values. Include large-value cases in testing.
  • Character data: Review character-set and collation assumptions, then test representative text—including any non-ASCII characters used by the application—for correct storage, comparison, and sorting.
  • Dates and times: Check precision and valid ranges. Decide explicitly how to handle MySQL zero dates; conversion settings expose options for this case, but the right choice depends on the application’s meaning for those values.
  • ENUM and SET: SSMA can convert ENUM to NVARCHAR or a numeric representation, and SET to NVARCHAR or binary. Choose based on how the application reads, writes, filters, and validates these values.
  • UNSIGNED numerics and YEAR: Check whether the target representation can preserve the source range and meaning. SSMA exposes options to add checks for UNSIGNED and YEAR values; validate boundary values as well as typical records.

Do not assume a default mapping is correct just because conversion completes. Record each override and test the corresponding data and application behavior in the target.

Test stored programs, triggers, and engine warnings

SSMA can convert views, procedures, functions, triggers, and SQL statements, but converted code may need adjustment. A MySQL function that cannot be expressed directly as a T-SQL function may be represented as a stored procedure plus a wrapper function. Test callers and permissions against the generated form.

MySQL BEFORE triggers are converted to SQL Server INSTEAD OF triggers. Those trigger types do not have identical timing or behavior, so test the application operations that depend on each trigger, including inserts, updates, and deletes. Also test interactions with constraints and transactions.

Unsupported storage engines and non-transactional tables can produce warnings in full conversion mode. Investigate each warning against the source table and the target workload; do not assume that schema conversion alone reproduces the source engine’s behavior. Treat spatial data and any warned-about SQL object as a specific validation item rather than assuming it converted cleanly.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Validate the migration before cutover

Use the Data Migration Report alongside independent checks in the target, for example in SQL Server Management Studio. A successful data load is not, by itself, evidence that the application will behave the same way.

  • Compare source and target table counts and key ranges; investigate missing, extra, or out-of-range records.
  • Check nullability, constraints, indexes, and representative aggregates, including totals that matter to the application.
  • Test edge cases for reviewed type mappings, such as numeric boundaries, zero dates, large binary values, and representative text.
  • Exercise application queries and writes. Test transactions, routines, triggers, and permissions used by real application workflows.
  • Verify SQL Server jobs and application connection settings that must be changed for the new target.
  • Follow the documented cutover and rollback plan only after the pilot and full-load checks meet the project’s acceptance criteria.

When to add manual migration work

SSMA is the practical starting point when you want Microsoft’s supported, automated path for assessment, conversion, and data migration. It does not remove the need to decide how the target should represent source-specific types or to verify converted SQL behavior.

Plan additional scripting or specialist review when conversion warnings affect important objects, when routines or trigger timing are central to application behavior, or when data volume and cutover requirements call for a deliberate loading and retry strategy. A manual ETL or script-based approach can provide more direct control over data transformations and loading, but the project must also account for schema coverage, observability, retry behavior, and cutover. The appropriate balance depends on the workload; Microsoft’s documentation does not provide a neutral performance benchmark comparing SSMA with third-party or manual approaches.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.