Използвайки MySQL Workbench, опитах тези комбинации, нито една от тях не работи:
отдалечен MS SQL> отдалечен собствен MySQL ODBC драйвер
отдалечен MS SQL> отдалечен драйвер за MySQL ODBC DataSource
отдалечен MS SQL> отдалечен MySQL freeTDS ODBC драйвер (със или без UTF-8)
виртуален MS SQL> виртуален MySQL собствен ODBC драйвер
виртуален MS SQL> драйвер за виртуален MySQL ODBC DataSource
виртуален MS SQL> виртуален MySQL freeTDS ODBC драйвер (със или без UTF-8)
И в двата случая или процесът на мигриране е блокирал (неотговаряща работна среда) или знаците не са прехвърлени правилно.
Общото време за проба и грешка беше около 12 часа.
Тук споделям с вас един начин как успях успешно да мигрирам цялата MS SQL база данни към моя локален MySQL сървър, работещ на моята машина за разработка.
Докато се свързвах с отдалечената машина W10 чрез връзка с отдалечен работен плот (RDC) от моята VirtualBox машина, отначало исках да премахна тази допълнителна стъпка, за да улесня нещата.
-
ако все още нямате, изтеглете и инсталирайте безплатна Virtual Box машина които Microsoft предлага и го стартирайте
-
от тази виртуална машина стартирайте RDC и преди да се свържете, добавете локален диск към виртуалната машина, за да бъде достъпен на отдалечена машина
-
на отдалечена машина стартирайте студио за управление на SQL Server и създайте резервно копие на базата данни (Щракнете с десния бутон върху желаната база данни, Задачи> Архивиране..., запазете архивния файл на диска)
-
копирайте този архивен файл на вашето устройство на виртуална машина, като отидете на Мрежи и качите файла на C:устройство на вашата виртуална машина
-
инсталирайте на вашата виртуална машина MS SQL сървър, издание Express, което е безплатно, заедно с SQL Server Management Studio (изтеглих версия 2014)
-
създайте нова база данни и изберете Задачи...> Възстановяване> База данни..., изберете файла, който сте качили на вашата виртуална машина, изберете Презаписване на съществуващата база данни..
-
създайте ново име за вход за вашия MS SQL сървър (щракнете с десния бутон върху Входни данни), изберете желаното потребителско име и парола, задайте роля на системен администратор, само за да улесните нещата, тъй като това е еднократен процес на миграция
-
на вашата локална хост Linux машина инсталирайте най-новия MySQL Workbench, предполагам, че MySQL базата данни вече работи локално, ако не, инсталирайте я
-
тъй като сте на Linux, ще ви е необходима допълнителна стъпка, за да инсталирате FreeTDS ODBC драйвер на вашата система, ако това връзка, как да инсталирате FreeTDS драйвер на Linux умира, потърсете Database Migration Wizard / Microsoft SQL Server migration в MySQL Workbench ръководство
-
настройка на виртуална машина, за да бъде достъпна от вашата Host linux система, направих това, като избрах Attached to:Bridged adapter и избрах wlan0 в настройките на виртуалната машина
-
стартирайте виртуална машина и изберете IP обхват от същата мрежа, която използва вашия адаптер
-
на вашата виртуална машина добавете правило за защитна стена за MS SQL сървър или временно изключете защитната стена
Отсега нататък всичко се прави на вашата локална Linux машина с работеща виртуална машина
-
стартирайте MySQL Workbench' Database Migration, изберете MS SQL като изходна машина, въведете правилния IP адрес, който сте задали във вашата виртуална машина по-рано
-
като целева база данни, използвайте настройките и идентификационните данни на вашата локална база данни MySQL
-
в стъпката Опции за създаване на цел изберете само Създаване на файл със SQL скрипт и изберете Запазване на схеми, ако вече са излезли.
-
преминете през следващите стъпки, докато стигнете до Настройка на прехвърляне на данни. Там изберете Онлайн копие на таблицата... но не натискайте Напред
-
редактирайте скрипта, записан в стъпка 15.:
премахване:
CREATE SCHEMA IF NOT EXISTS `Test` ;
добави:
CREATE DATABASE `Test` DEFAULT CHARACTER SET utf16 COLLATE utf16_czech_ci;
променя всички създадени дефиниции на таблици чрез добавяне на желания набор от знаци и съпоставка към дефиницията на таблицата:
CREATE TABLE IF NOT EXISTS `TestTable` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf16_czech_ci DEFAULT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf16 COLLATE=utf16_czech_ci;
-
стартирайте този актуализиран скрипт във вашата MySQL база данни
-
отидете на следващата стъпка в MySQL Workbench и данните трябва да се импортират правилно
Възможно е някои стъпки да не са изрично посочени, моля, уведомете ме в коментарите, ако имате нужда от разяснения