Help Center> Database and Application Migration UGO> User Guide> Conversion Configuration> Migration Configurations> Editing the Configurations During Migration from Microsoft SQL Server to MySQL
Updated on 2024-05-28 GMT+08:00

Editing the Configurations During Migration from Microsoft SQL Server to MySQL

Symptom

Feature Name

Recommended Setting

The database structures of Microsoft SQL Server and MySQL are different, so the migration fails.

Database name conversion

Recommended value: Retain the database names.

Impact: Object database names are not converted.

The collations of Microsoft SQL Server and MySQL are different, so the migration fails.

Collation conversion

Comment collations.

Impact: Collations are commented out.

The collations of Microsoft SQL Server and MySQL are different. This configuration item controls DROP_EXISTING conversion.

DROP_EXISTING conversion

Remain DROP_EXISTING.

Impact: DROP_EXISTING is not converted.

The collations of Microsoft SQL Server and MySQL are different. This configuration item controls the conversion of index filtering statements.

Conversion of index filtering statements.

Retain index filtering statements.

Impact: Index filtering statements are not converted.

The syntax of SQL Server is different from that of MySQL. MySQL does not support table variables.

Table variable conversion

Convert a table variable to a temporary table.

Impact: In Microsoft SQL Server, explicit table variables do not comply with the rollback semantics of transactions. In MySQL, temporary tables comply with the rollback semantics of transactions. You need to check whether the service semantics changes. Multi-statement table-valued functions that return table definitions are excluded.

The syntax of SQL Server is different from that of MySQL. MySQL does not support the system function @@FETCH_STATUS of SQL Server.

WHILE LOOP Condition @@FETCH_STATUS=0

Converted to NOT FOUND HANDLER.

Impact: Users need to pay attention to whether the service semantics changes.

Constraints:

  1. Only the syntax "WHILE @@FETCH_STATUS = 0" and "WHILE 0 = @@FETCH_STATUS" are supported.
  2. The previous statement of "WHILE @@FETCH_STATUS = 0" was a FETCH statement.
  3. The last sentence in the WHILE loop is FETCH.
  4. Two FETCH statements use the same cursor.