Средство импорта и экспорта данных в Microsoft SQL Server 2008

В СУБД Microsoft SQL Server 2008 существует отличный функционал по импорту и экспорту данных, причем в разные форматы и разные базы данных. Его можно также использовать для простого переноса данных из одной базы в другую или с одного сервера на другой. Сегодня мы рассмотрим примеры использования данного средства, и, как мне кажется, это очень удобно.

Мы с Вами уже не раз затрагивали тему импорта и экспорта данных в MS SQL Server 2008, например, в статьях:

Но так или иначе, это было связанно с клиентским приложением, т.е. Access, другими словами, мы это делали для пользователей, чтобы они могли выгружать или загружать данные в базу. А теперь пришло время поговорить о том, чем может, и, наверное, должен пользоваться системный администратор или программист для подобного рода задач.

Примечание! Далее подразумевается, что у Вас уже установлена СУБД Microsoft SQL Server 2008 и средство импорта и экспорта данных, так как оно идет в комплекте, и на примере Windows 7 Вы можете наблюдать в меню «Пуск-> Все программы-> Microsoft SQL Server 2008 R2-> Импорт и экспорт данных (32-разрядная версия)». У меня это выглядит следующим образом:

Скриншот 1

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

Импорт данных из Excel документа в MSSql 2008

Создаем тестовые данные в документе Excel

Мы будем использовать старый, но проверенный Excel 2003 и формат файла у нас будет xls.

Данные будут вот такие, файл я назвал test_file.xls:

Скриншот 2

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

Примечание! Сервер располагается локально, база данных называется test.

Шаг 1

Итак, приступим, у нас есть файл, теперь запускаем средство импорта, и у нас открывается следующее окно:

Скриншот 3

Шаг 2

Нажимаем далее, где нам предлагают выбрать источник данных, в нашем случае это Excel, мы выбираем файл, версию excel и ставим галочку, что первая строка — это заголовок:

Скриншот 4

Шаг 3

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

Скриншот 5

Шаг 4

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

Скриншот 6

Шаг 5

Жмем далее, и попадаем на окно выбора листа с данными и задания названия таблицы в нашей базе, я выбрал лист 1 и назвал таблицу test_table:

Скриншот 7

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

Скриншот 8

Шаг 6

Это было небольшое отступление, а в нашем примере мы жмем далее, и попадаем в окно, в котором можно сохранить все наше действия в пакет, но мы этого делать не будем, а сразу же нажмем готово:

Скриншот 9

Шаг 7

После появится окно, где мы все проверяем и жмем готово:

Скриншот 10

Шаг 8

И в заключение у нас появится еще одно окно, так сказать результат наших действий, жмем закрыть:

Скриншот 11

Как видно, передано 3 строки, т.е. импортировано — это означает, что все наши данные, которые были в файле, импортировались.

И для того, чтобы проверить какие данные у нас импортировались, выполним в Management Studio простой запрос select.

Скриншот 12

И как видите все хорошо!

Экспорт данных из Microsoft SQL Server 2008 в файл Excel

А теперь давайте рассмотрим пример экспорта данных из нашей только что созданной таблицы в Excel документ.

Шаг 1

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

Скриншот 13

Шаг 2

Жмем далее, где нам предлагают указать назначение экспорта, мы соответственно выбираем Excel, и задаем путь и название выгружаемого файла:

Скриншот 14

Шаг 3

После того как Вы нажмете далее, Вы попадете в окно выбора данных, т.е. какие именно данные мы будем выгружать, и здесь давайте укажем — выгружать данные на основе запроса. Так как, когда мы импортировали данные, мы выбрали все, а теперь для примера выберем не все, а на основе запроса, можно также выбрать все и указать таблицу или представление VIEWS, в котором уже будут отфильтрованные данные, но мы напишем SQL запрос:

Скриншот 15

Шаг 4

И в следующем окне вставляем свой запрос, например, я написал вот такой:

Скриншот 16

Также в этом окне Вы можете выполнить анализ своего запроса, на предмет наличия ошибок или выбрать файл, который содержит текст запроса, и, если все хорошо, жмем далее.

Шаг 5

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

Шаг 6

Затем на следующем окне все проверяем и жмем готово.

Шаг 7

Далее, как и в импорте, жмем последний раз готово. И все, после этого у Вас в той папке, которую Вы указали, появится документ Excel с Вашими данными.

После рассмотрения этих примеров, я думаю стало понятно, как можно осуществлять импорт и экспорт данных в MS SQL Server 2008. Использовать можно не только Excel, но и другие источники данных, ну я думаю, дальше Вы разберетесь сами, так как это не так сложно, но если у Вас все равно возникают вопросы, можете задавать их в комментариях.

Пока!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Комментариев: 4
  1. Аватар
    IvanovV

    Согласен с автором, очень полезный инструмент!

  2. Аватар
    Анон

    подскажите как реализовать циклический (через каждую минуту) импорт (добавление) данных в Microsoft SQL Server 2008 из *.csv файла

    1. Аватар
      artur

      На шаге 6 сохранить в пакет или файл,а потом добавить его в агент с нужным расписанием.

  3. Аватар
    Indira

    Добрый день. Подскажите пожалуйста как экспортировать данные из SQL Server Managment Studio в Matlab?

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.