Перенос Данных В Базу Данных Sql Windows Azure Из Postgresql

Добрый день В этой статье я покажу вам, как легко и просто выполнить миграцию (перенос данных) из PostgreSQL в облачную базу данных Windows Azure SQL Database. Основные шаги:

  1. Создайте новую базу данных в панели управления Windows Azure.
  2. Установка драйвера ODBC для PostgreSQL
  3. Создание проекта в инструменте данных SQL Server
  4. Импортировать данные


Создайте новую базу данных в панели управления Windows Azure.

Чтобы создать новую базу данных, перейдите в панель управления Windows Azure ( https://manage.windowsazure.com/ ).

Даже если у вас нет подписки, вы можете воспользоваться пробным периодом — 200 долларов на один месяц, чего более чем достаточно для различных экспериментов.

Нажмите кнопку +Новый в левом нижнем углу и выберите Службы данных > База данных SQL > Быстрое создание .

Заполните обязательные поля - название базы данных, регион дата-центра и логин/пароль для доступа к базе данных:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

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

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

По умолчанию база данных создается с максимальным размером 1 ГБ — после достижения верхнего предела база данных переходит в режим только для чтения.

Однако при необходимости размер можно увеличить до 150 ГБ.



Установка драйвера ODBC для PostgreSQL

Теперь нам нужно установить драйвер ODBC для postgresql. Загрузите последнюю версию с Официальный веб-сайт (скачайте 32-битную версию, с ней меньше проблем).

Внимание! Драйвер необходимо устанавливать на компьютер, на который в дальнейшем будут копироваться данные, а не на сервер базы данных.



Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Установка проста и не вызывает никаких проблем - Далее-Далее-Далее-Готово.

После этого вам нужно добавить источник ODBC как для базы данных PostgreSQL, так и для базы данных SQL — просто введите odbc на стартовом экране и выберите из списка.

Источники данных ODBC (32-разрядные)

Перенос данных в базу данных SQL Windows Azure из PostgreSQL



Перенос данных в базу данных SQL Windows Azure из PostgreSQL

В появившемся окне нажмите Добавлять… , выберите PostgreSQL Unicode из списка и нажмите «Готово».



Перенос данных в базу данных SQL Windows Azure из PostgreSQL

После этого введите все необходимые данные:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

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



Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Без этого все будет работать, пока данных мало, но на больших объемах вылетит с ошибкой Out of Memory — например, у меня была такая ошибка на таблице примерно с 60 миллионами записей.

Теперь также создайте источник данных для целевого сервера в облаке — просто выберите SQL Server Native Client из списка, и данные подключения можно будет просмотреть в панели управления сервером, если нажать кнопку «Просмотр строк подключения к базе данных SQL для ADO .

Net, ODBC, PHP и JDBC» .

И, как напоминает нам это окно, надо не забыть разрешить подключения к базе данных с этого IP-адреса — по умолчанию подключения возможны только с IP-адресов сервисов Windows Azure (и только если эта опция включена в настройках сервера)

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Процесс настройки также не сложен, и после этого у вас будет что-то вроде этого:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL



Создание проекта в инструменте данных SQL Server

Если бы миграция происходила с MySQL, то все было бы проще — есть замечательный инструмент Помощник по миграции SQL Server (SSMA) , который поддерживает, помимо прочего, MySQL и позволяет очень просто и быстро мигрировать.

Но для PostgreSQL такого нет, поэтому придется воспользоваться SQL Server Data Tool (что, впрочем, тоже не сложно).

Запустите инструмент данных SQL Server, нажмите Новый проект и создадим проект на основе шаблона Проект службы интеграции

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Перетащите задачу потока данных из панели инструментов, дважды щелкните по ней — вы перейдете на вкладку «Поток данных».



Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Перетащите источник данных ODBC и назначение ODBC в рабочую область и соедините их синей стрелкой, идущей от источника ODBC:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Дважды кликаем по ODBC Source, в появившемся окне жмем New, затем еще раз New и выбираем наш источник данных:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Дважды нажмите «ОК», чтобы закрыть эти окна и выбрать таблицу, из которой будут импортированы данные:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Теперь таким же образом нужно настроить приемник данных — ODBC Destination.

Перенос данных в базу данных SQL Windows Azure из PostgreSQL



Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Там же при необходимости можно настроить соответствие столбцов:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Теперь есть еще один важный момент — следует переключить запуск проекта в 32-битный режим.

Для этого щелкните правой кнопкой мыши проект в обозревателе решений, выберите Характеристики и в разделе Свойства конфигурации -> Отладка установить Run64BitRuntime В ЛОЖЬ .



Перенос данных в базу данных SQL Windows Azure из PostgreSQL



Импортировать данные

Теперь вы готовы перенести свои данные! Нажмите F5 или кнопку «Начать отладку» на панели инструментов.

В рабочей области появятся индикаторы, указывающие на то, что данные передаются:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

А на панели «Прогресс» вы можете увидеть текстовый отчет:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Убедившись, что все идет по плану, можно идти пить кофе/чай — это довольно долгий процесс (на мой взгляд, SSMA сработала быстрее).

После завершения процесса напротив источника и места назначения данных появятся зеленые галочки:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

А в окне Прогресс есть текстовый отчет:

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Как видите, за 50 минут было скопировано 570 тыс.

строк.

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

Перенос данных в базу данных SQL Windows Azure из PostgreSQL

Так вы сможете легко и быстро перенести большой объем данных из PostgreSQL в облачную базу данных Windows Azure SQL Database.

Ссылки
  1. Пробная версия Windows Azure
  2. Справочный центр базы данных SQL Windows Azure
Теги: #postgresql #windows azure #миграция ##dev3 #postgresql #Microsoft Azure
Вместе с данным постом часто просматривают: