Назад | Перейти на главную страницу

Как ежедневно автоматически создавать базу данных SQL Server из файла mysqldump?

Недавно поставщик объявил, что они обновляют свои процессы, и автоматизированный ежедневный дамп данных, который мы получаем от него, теперь будет поступать в формате MySQL. К сожалению, мы являемся магазином только для Microsoft, поэтому мы не можем напрямую импортировать эти файлы.

Итак, мой вопрос: как я могу взять файл дампа данных и импортировать его в экземпляр SQL Server 2005 для создания базы данных?

На заметку:

Я бы сделал что-то другое с третьей стороной. Я бы вытащил его из MySQL прямо в SQL Server с помощью SSIS и запланировал задачу внутри SQL-сервера. Импорт дампа MySQL в SQL Server будет проблематичным, так как DDL значительно различается между ядрами базы данных.

Если вы не можете получить доступ к стороннему поставщику напрямую, вы можете получить работающий экземпляр MySQL локально, а затем импортировать дамп mysql (используя mysqlimport в пакетном файле).

Вы должны уметь автоматизировать это достаточно легко с помощью планировщика задач и SSIS + Jobs в SQL Server 2005.

Если вы не хотите запускать экземпляр MySQL и скрипт для импорта и реэкспорта (в формате, удобном для MSSQL), вам придется написать парсер для перевода формата дампа MySQL в CSV или что-то полезное и простое.

Я думаю, вам лучше запустить экземпляр MySQL и менять местами данные. Вы даже можете использовать VBA для автоматизировать это через DSN как только данные находятся в MySQL.

Поскольку вы, вероятно, ведете бизнес, в котором ваше время чего-то стоит, рассмотрите коммерческое решение, например симметричные

в переполнение стека они указали на это решение: от mysql к mssql. Требуется загрузка экземпляра mysql.

Если ваши требования высечены в камне (я имею в виду ваш комментарий о «не требует ручного вмешательства»), то лучшим решением для вашей организации было бы заплатить кому-то за программирование этой логики для вас. Перенос данных между базами данных требует вмешательства, маленькие садовые гномы этого не сделают, пока вы спите. Кто-то должен будет запрограммировать его логику.

Написав все это, запуск mysql на сервере Windows - это прекрасно, и вам ничего не будет стоить, если вы запустите версию сообщества. Кстати, вы всегда можете потратить деньги, купив его в Oracle, если это требование руководства.

http://dev.mysql.com/doc/refman/5.5/en/mysqldump.html#option_mysqldump_xml

Дамп обычно содержит операторы SQL для создания таблицы, ее заполнения или и того, и другого. Однако mysqldump также может использоваться для создания файлов в формате CSV, другом тексте с разделителями или в формате XML.

Тогда я бы выбрал формат XML и преобразовал его везде, где это необходимо, с помощью XSLT.