Как мне преобразовать SQL-скрипт MySQL в MS SQL one?

#mysql #sql #sql-server

#mysql #sql #sql-сервер

Вопрос:

Я должен перенести схему / данные базы данных MySQL клиента на MS SQL SERVER 2008. Наконец, я получил файл SQL размером 70 Мб с диалектом MySQL, который несовместим с MSSQL.

 DROP TABLE IF EXISTS `kladr`;
CREATE TABLE `kladr` (
  `id` int(11) NOT NULL DEFAULT '0',
  `idp` int(11) DEFAULT NULL,
...
  

Потребовалась неделя переговоров, чтобы получить такой файл, поэтому я боюсь просить администраторов MySQL прислать мне sql, совместимый с MS SQL SERVER. Есть ли способ автоматически преобразовать диалект MySQL в диалект СЕРВЕРА MSSQL?

Ответ №1:

SQLines предоставляет инструменты и службы, которые помогут вам переносить данные, преобразовывать схему базы данных (DDL), представления, хранимые процедуры и функции, триггеры, запросы, встроенные операторы SQL и SQL-скрипты из MySQL в Microsoft SQL Server.

http://www.sqlines.com/online

Комментарии:

1. Редактор больше не конвертирует — вы можете вставить MySQL и т. Д., Но Ничего не происходит, когда вы нажимаете convert.

2. Это сработало для меня. Возможно, вы не изменили тип назначения

3. У этой вещи много ошибок! Всякий раз, когда я конвертирую базу данных mysql, возникает много ошибок

Ответ №2:

Самым простым способом было бы получить конвертер. Доступно несколько вариантов, но может быть сложно найти хороший: доступно множество вариантов рассылки спама, и все они, конечно, стоят денег.

У Microsoft есть онлайн-руководство по миграции: http://technet.microsoft.com/en-us/library/cc966396.aspx

Вам понадобятся некоторые инструменты mysql и некоторые инструменты mssql, указанные по ссылке выше.

Добавление короткого примера:
если вы проверите часть под названием «Использование загрузки данных». Файл экспорта, который у вас уже есть, вероятно, подойдет, так что вы можете пойти и пропустить «Создание сценариев извлечения данных mysqldump».

Теперь часть, которая вам нужна:

Используя извлеченные скрипты с помощью анализатора запросов SQL
, сгенерированные скрипты теперь можно использовать для создания объектов базы данных и вставки данных. Предпочтительный способ построения схемы базы данных из сценариев MySQL — использовать инструмент SQL Query Analyzer, который входит в состав SQL Server 2000.
Вы можете запустить SQL Query Analyzer непосредственно из меню «Пуск» или изнутри SQL Server Enterprise Manager. Вы также можете запустить SQL Query Analyzer из командной строки, выполнив утилиту isqlw.
Для корректного выполнения скрипта требуется некоторая дополнительная работа, которая включает определенные изменения в диалекте SQL. Кроме того, не забудьте просмотреть SQL-скрипт и изменить типы данных на типы, совместимые с SQL Server. На приведенной ниже схеме показан импортированный скрипт из mysqldump, важно отметить, что дамп представляет собой файл сценария ASCII.

Комментарии:

1. Я думаю, что он просто хотел преобразовать sql-скрипт и не знал сведений о подключении mysql, таких как host и acct (думаю, как и мне, сейчас мне нужно получать блоги WordPress

2. ДА. Если вы посмотрите на эту ссылку, вы найдете заголовок «Использование загрузки данных». Файл экспорта, который есть у OP allready, — это тот, для которого вам нужны сведения о подключении, как описано в части «Создание сценариев извлечения данных mysqldump». Итак, вы можете пропустить этот шаг и перейти оттуда.

Ответ №3:

Существует несколько способов проверить, существует ли таблица в SQL. Вот один из подходов.

 if object_id('<table>','U') is not null  drop <table>
  

Итак, вам нужно будет преобразовать все

 DROP TABLE IF EXISTS `kladr`;
  

к этому синтаксису. Обратите внимание, что существуют и другие подходы, позволяющие проверить, существует ли таблица.

Кроме того, MS-SQL не использует символ ` (обратная метка), поэтому вам нужно будет избавиться от них всех. Однако некоторые из имен полей / таблиц, которые в настоящее время окружены обратными метками, могут быть зарезервированными словами, и в этом случае вам нужно разделить эти поля / таблицы [fld_name] скобками.

Вы также можете столкнуться с некоторыми различиями в синтаксисе create table, также базовый синтаксис похож. Приведенные выше примеры будут работать в MS-SQL…

Вы можете сделать это с помощью редактирования скрипта, но я бы настоятельно рекомендовал использовать ссылку, предложенную Нанне выше. Удачи

Ответ №4:

Вы можете (повторно) создать базу данных MySQL из полученных вами скриптов MySQL и использовать инструмент преобразования базы данных. В прошлом я использовал FullConvert и работает отлично. Поддерживает множество баз данных и работает очень быстро!

Комментарии:

1. У Microsoft также есть бесплатный набор инструментов преобразования для преобразования в SQL Server. Для MySQL есть один learn.microsoft.com/en-us/sql/ssma/mysql /…