Добрый день В этой статье я покажу вам, как легко и просто выполнить миграцию (перенос данных) из PostgreSQL в облачную базу данных Windows Azure SQL Database. Основные шаги:
- Создайте новую базу данных в панели управления Windows Azure.
- Установка драйвера ODBC для PostgreSQL
- Создание проекта в инструменте данных SQL Server
- Импортировать данные
Создайте новую базу данных в панели управления Windows Azure.
Чтобы создать новую базу данных, перейдите в панель управления Windows Azure ( https://manage.windowsazure.com/ ).Даже если у вас нет подписки, вы можете воспользоваться пробным периодом — 200 долларов на один месяц, чего более чем достаточно для различных экспериментов.
Нажмите кнопку +Новый в левом нижнем углу и выберите Службы данных > База данных SQL > Быстрое создание .
Заполните обязательные поля - название базы данных, регион дата-центра и логин/пароль для доступа к базе данных:
Через некоторое время должно появиться сообщение о том, что создание базы данных прошло успешно:
По умолчанию база данных создается с максимальным размером 1 ГБ — после достижения верхнего предела база данных переходит в режим только для чтения.
Однако при необходимости размер можно увеличить до 150 ГБ.
Установка драйвера ODBC для PostgreSQL
Теперь нам нужно установить драйвер ODBC для postgresql. Загрузите последнюю версию с Официальный веб-сайт (скачайте 32-битную версию, с ней меньше проблем).Внимание! Драйвер необходимо устанавливать на компьютер, на который в дальнейшем будут копироваться данные, а не на сервер базы данных.
Установка проста и не вызывает никаких проблем - Далее-Далее-Далее-Готово.
После этого вам нужно добавить источник ODBC как для базы данных PostgreSQL, так и для базы данных SQL — просто введите odbc на стартовом экране и выберите из списка.
Источники данных ODBC (32-разрядные)
В появившемся окне нажмите Добавлять… , выберите PostgreSQL Unicode из списка и нажмите «Готово».
После этого введите все необходимые данные:
Теперь один из пунктов, ради которого была написана эта статья – в этом окне нажать кнопку Источник данных и обязательно поставьте галочку Используйте объявление/выборку .
Без этого все будет работать, пока данных мало, но на больших объемах вылетит с ошибкой Out of Memory — например, у меня была такая ошибка на таблице примерно с 60 миллионами записей.
Теперь также создайте источник данных для целевого сервера в облаке — просто выберите SQL Server Native Client из списка, и данные подключения можно будет просмотреть в панели управления сервером, если нажать кнопку «Просмотр строк подключения к базе данных SQL для ADO .
Net, ODBC, PHP и JDBC» .
И, как напоминает нам это окно, надо не забыть разрешить подключения к базе данных с этого IP-адреса — по умолчанию подключения возможны только с IP-адресов сервисов Windows Azure (и только если эта опция включена в настройках сервера)
Процесс настройки также не сложен, и после этого у вас будет что-то вроде этого:
Создание проекта в инструменте данных SQL Server
Если бы миграция происходила с MySQL, то все было бы проще — есть замечательный инструмент Помощник по миграции SQL Server (SSMA) , который поддерживает, помимо прочего, MySQL и позволяет очень просто и быстро мигрировать.Но для PostgreSQL такого нет, поэтому придется воспользоваться SQL Server Data Tool (что, впрочем, тоже не сложно).
Запустите инструмент данных SQL Server, нажмите Новый проект и создадим проект на основе шаблона Проект службы интеграции
Перетащите задачу потока данных из панели инструментов, дважды щелкните по ней — вы перейдете на вкладку «Поток данных».
Перетащите источник данных ODBC и назначение ODBC в рабочую область и соедините их синей стрелкой, идущей от источника ODBC:
Дважды кликаем по ODBC Source, в появившемся окне жмем New, затем еще раз New и выбираем наш источник данных:
Дважды нажмите «ОК», чтобы закрыть эти окна и выбрать таблицу, из которой будут импортированы данные:
Теперь таким же образом нужно настроить приемник данных — ODBC Destination.
Там же при необходимости можно настроить соответствие столбцов:
Теперь есть еще один важный момент — следует переключить запуск проекта в 32-битный режим.
Для этого щелкните правой кнопкой мыши проект в обозревателе решений, выберите Характеристики и в разделе Свойства конфигурации -> Отладка установить Run64BitRuntime В ЛОЖЬ .
Импортировать данные
Теперь вы готовы перенести свои данные! Нажмите F5 или кнопку «Начать отладку» на панели инструментов.
В рабочей области появятся индикаторы, указывающие на то, что данные передаются:
А на панели «Прогресс» вы можете увидеть текстовый отчет:
Убедившись, что все идет по плану, можно идти пить кофе/чай — это довольно долгий процесс (на мой взгляд, SSMA сработала быстрее).
После завершения процесса напротив источника и места назначения данных появятся зеленые галочки:
А в окне Прогресс есть текстовый отчет:
Как видите, за 50 минут было скопировано 570 тыс.
строк.
Вы можете подключиться к облачной базе данных и убедиться, что данные действительно там:
Так вы сможете легко и быстро перенести большой объем данных из PostgreSQL в облачную базу данных Windows Azure SQL Database.
Ссылки
Теги: #postgresql #windows azure #миграция ##dev3 #postgresql #Microsoft Azure-
Все О Нетбуке Asus Eeepc-1215T-Mu17-Sl
19 Oct, 24 -
Самое Простое Веб-Приложение На Liftweb
19 Oct, 24 -
Микрофоны, Третий Взгляд Подкастера
19 Oct, 24 -
Появится Ли У Google Analytics Конкурент?
19 Oct, 24