We're considering using SQLyog for large SQL Server -> MySql migration.
Customers table contains about 3M rows. Biggest customer data table contains about 20M rows.
The migration is a one-time job, but it needs to be very reliable.
We're wondering if SQLyog is the right tool for the job?
As a side note, we tried the tool with a small record set but observed a strange anomaly. SQLyog manages to insert rows that violate FK in the MySQL. It seems like the tool is dropping the FK for migration. Is there any way to disable it?
There is no limitation on the number of rows of data that SQLyog can import .You can download and verify with trial version of SQLyog(but trial has a limitation. It can import only two tables at a time. But these tables can contain any amount of data).
Quote:
SQLyog manages to insert rows that violate FK in the MySQL. It seems like the tool is dropping the FK for migration. Is there any way to disable it?
If want to import the FKs you must select the option “import foreign keys” in the advanced-option. See the screen-shot attached.
But the referential integrity is disabled internally always by issuing SET FOREIGN_KEY_CHECKS = 0 before INSERT rows, and enabled again by SET FOREIGN_KEY_CHECKS = 1 after the insertions are completed.
i also wonder how does this tool handle problems in the middle of the import. does it stop the process or skip the problematic rows? Is this recorded in the log?
The migration is a critical step in switching our business to a new platform and we need to ensure that customers and their data migrate successfully and even if there are some minor problems – it will not prevent us from completing the migration.
does it stop the process or skip the problematic rows? Is this recorded in the log?
SQLyog's Import-External-Data feature has got an option “Abort on error” (screen-shot is attached), If this option is selected the process will be stopped and logs the query to sja.log(located where the sqlyog.ini is)when it encounters any error, else it ignores the error and continues the process.
when the error is ignored – is it recorded in the logs so that we could analyze it later?
Yes. In spite of the errors being ignored while importing, the errors will be logged in the sja.log and you can look into it later. You can get back to us if you need further assistance or have more doubts.