Импорт .bak в MySQL (.sql) - PullRequest
       11

Импорт .bak в MySQL (.sql)

0 голосов
/ 12 марта 2012

Я хочу импортировать резервную копию базы данных MS SQL SERVER2008 R2 на MySQL Server. Любая помощь о том, как я могу преобразовать .bak в .sql, чтобы его можно было импортировать на сервер базы данных MySQL?

Я читал другие темы по этому поводу, но пока ни одна не работала.

Спасибо.

1 Ответ

3 голосов
/ 12 марта 2012

Вы можете восстановить базу данных в локальной версии SQL Server (для этого вы можете скачать бесплатную ознакомительную версию):

http://msdn.microsoft.com/en-us/evalcenter/ff459612.aspx

Затем вы можете использовать мастер импорта / экспорта в Management Studio для переноса ваших таблиц и других объектов в базу данных MySQL (вам может потребоваться установить дополнительные драйверы ODBC для локальной установки SQL Server для подключения к MySQL). *

EDIT

При восстановлении базы данных на SQL Server не используйте неуклюжий пользовательский интерфейс. Используйте фактическую команду RESTORE DATABASE. Например:

RESTORE DATABASE foo FROM DISK = 'c:\path\foo.bak';

Теперь вы можете обнаружить, что исходная база данных была создана с файлами, размещенными на дисках или в папках, которые не существуют локально. Поэтому я предлагаю создать очень простую папку, временно называемую c:\db_temp\, дать привилегии Everyone для изменения учетной записи, а затем запустить следующее:

RESTORE FILELISTONLY FROM DISK = 'c:\path\foo.bak';

Это вернет набор результатов как:

LogicalName  PhysicalName
-----------  ------------
Foo          C:\...\foo.mdf
Foo_log      C:\...\foo_log.ldf

Вам необходимо создать команду RESTORE DATABASE, похожую на следующую, основываясь на приведенном выше результате:

RESTORE DATABASE foo FROM DISK = 'c:\path\foo.bak'
  WITH MOVE 'Foo'     TO 'c:\db_temp\foo.mdf',
       MOVE 'Foo_log' TO 'c:\db_temp\foo_log.ldf';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...