Импортировать базу данных (файл SQL) в SQL Server Management Studio

Сначала я создал структуру своей базы данных в PhpMyAdmin и экспортировал ее в файл .sql. Теперь я ищу везде в SQL Server Management Studio, где я могу импортировать / добавлять данные в новую базу данных.

Кто-нибудь, где смотреть или что нажимать? Использую версию 2014 года (CTP2)


person Matt    schedule 18.03.2014    source источник
comment
Подключитесь к серверу, затем Menu > File > Open > File..., выберите свой .sql файл и запустите его - разве это не работает?   -  person marc_s    schedule 18.03.2014
comment
У меня есть некоторые синтаксические ошибки, но это странно, потому что это просто сгенерированный файл sql, а не самодельный. И я сам не редактировал   -  person Matt    schedule 18.03.2014
comment
Но он генерируется MySQL, который не на 100% совместим с T-SQL / SQL Server ... все SQL-запросы не созданы полностью идентичными ....   -  person marc_s    schedule 18.03.2014
comment
Если вы пытаетесь использовать .sql файл, этот ответ будет вам полезен!   -  person Curiousity    schedule 20.09.2017
comment
Если это большой файл sql, проверьте это решение stackoverflow.com/questions/431913/   -  person Dan Csharpster    schedule 22.11.2017
comment
Если это полная структура БД, вы можете просто скопировать и вставить все в студию из этого файла и запустить его. Для этого не нужны специальные инструменты.   -  person Alex    schedule 21.12.2017


Ответы (4)


Если у вас есть файл .sql, содержащий операторы SQL, вы можете просто скопировать и вставить его содержимое (или открыть файл в окне запроса) и запустить его. Это предполагает, что у него есть все операторы создания таблицы и т. Д. Для создания схемы / структуры, а не только операторы вставки для данных.

Проверьте верхнюю часть файла, чтобы убедиться, что он сначала выбирает правильную базу данных, если нет, добавьте оператор USE для выбора правильной базы данных.

Вы не сказали, насколько велик был файл, но если он довольно большой и содержит операторы вставки (данные, а также схему), вы, вероятно, захотите запустить его с помощью интерфейса командной строки с помощью команды sqlcmd. Намного быстрее, и SSMS не выйдет из себя.

Другой вариант запуска файла / кода .sql - это настроить источник данных для mysql и просто использовать odbc для доступа к самой базе данных.

Имейте в виду, что между mysql и t-sql существуют реальные и очень раздражающие различия, которые могут затруднить миграцию. Если вы просто создаете несколько таблиц, это может не быть проблемой, но если существует масса таблиц с большим количеством полей с разными типами данных, вы можете столкнуться с проблемами.

person a lead alcove    schedule 13.06.2018
comment
Я хотел бы знать, почему мой ответ был отвергнут через 2 года без объяснения причин. Какая-то конкретная причина, голосующий против? - person a lead alcove; 17.07.2020

Откройте сервер, откройте «Базы данных» и щелкните правой кнопкой мыши базу данных, перейдите в «Задачи», а затем «Импортировать данные ...»

person SCJohnson243    schedule 18.03.2014
comment
Я дошел до этого, но какой вариант выбрать в источнике данных? Наиболее логичным является SQL Server Native Client 11.0, но для этого требуется другая база данных. - person Matt; 18.03.2014
comment
Я нашел это - не уверен, поможет ли это вам: stackoverflow.com/questions/7828060/ - person SCJohnson243; 18.03.2014

Если вы хотите импортировать структуру таблицы, вы можете скопировать и вставить содержимое и запустить SSMS в окне запроса. Остерегайтесь синтаксических различий MySQL и SQL Server. Скорее всего, вы получите ошибки. Вам необходимо преобразовать ваш SQL-скрипт из диалекта MySQL в диалект SQL Server (или просто добавить их вручную, если их не слишком много). Если в самом начале вы установите базы данных в режим совместимости со стандартом SQL, у вас будет гораздо меньше проблем.

Если вы ТОЛЬКО хотите импортировать данные только в существующие таблицы внутри SQL Server, вы можете сделать то же самое (т.е. скопировать-вставить и запустить в окне запроса). С этим у вас будет меньше проблем.

person K4M    schedule 06.08.2020

У меня был самый «беспроблемный» успешный импорт в SQL с помощью метода плоского файла (файл .txt с разделителями-запятыми), единственное условие при создании плоского файла (то есть из Access) - убедитесь, что для текстового идентификатора установлено значение {none} и не "". Чтобы импортировать файл: в SQL Server Management Studio щелкните правой кнопкой мыши Базы данных и создайте новую базу данных. Затем щелкните правой кнопкой мыши новую базу данных -> Задачи -> Импортировать данные ... Откроется окно импорта: в параметре ИСТОЧНИК ДАННЫХ выберите Источник плоского файла и выберите файл .txt ... нажмите ДАЛЕЕ. В поле DESTINATION выберите SQL Server Native Client 11.0 и выполните процесс импорта. У меня это сработало очень хорошо.

person CadSquad    schedule 09.07.2014