Продажи: 1-800-867-1389

Миграция на SQL Server на виртуальной машине Azure

Обновлено: Март 2014 г.

В этом разделе приводится информация о том, как осуществить миграцию существующей локальной базы данных SQL Server на платформе Windows Server в виртуальные машины (ВМ) SQL Server Azure. Здесь также рассматривается рабочий процесс принятия решений относительно выбора запуска приложений SQL Server на виртуальной машине в облаке и миграции существующей базы данных SQL Server в базу данных SQL Azure (базу данных SQL).

С помощью SQL Server на виртуальной машине можно сократить общие расходы на владение развертыванием, а также затраты на поддержку приложений уровня организации и управление ими, перенеся эти приложения в Azure. При переносе существующих приложений SQL Server на виртуальные машины Azure требуются минимальные изменения в коде. Используя SQL Server на виртуальной машине, администраторы и разработчики по-прежнему могут использовать те же доступные локально средства разработки и администрирования.

Авторы: Селсин Тюркарслан (Selcin Turkarslan)
Редакторы: Евгений Кривошеев (Evgeny Krivosheev), Паоло Салватори (Paolo Salvatori), Линдси Аллен (Lindsey Allen), Стив Ховард (Steve Howard)

Разделы этой статьи:

Использование SQL Server в виртуальной машине Azure позволяет реализовать множество локальных сценариев в облаке.

  • Быстрая разработка приложений и тестирование. Разработайте приложение базы данных, требующее выполнение определенных проверок в среде, аналогичной рабочей. Вместо приобретения нового оборудования для выполнения проверки нового приложения используйте SQL Server на виртуальной машине. Создайте виртуальную машину с помощью образа платформы, содержащего SQL Server, или передайте в Azure собственный образ. Затем подключитесь к новой машине, переместите нужные данные, настройте приложение, выполните тесты и внесите исправления.

  • Совокупная стоимость владения платформы виртуализации. Перенесите существующую локальную платформу виртуализации в Azure. Вместо приобретения нового оборудования для поддержки увеличивающегося числа приложений уровня организации на своей собственной локальной платформе виртуализации просто переместите их в Azure, воспользовавшись функциями инфраструктуры SQL Server на виртуальной машине Azure.

  • Быстрое масштабирование по мере необходимости. Выделение дополнительных ресурсов вычисления, хранения и сети для обслуживания сезонных всплесков нагрузки на приложение. Вместо приобретения дополнительного оборудования, нужного лишь на определенный период времени, используйте инфраструктуру SQL Server в Azure Virtual Machines.

  • Доступность и мобильность данных. Размещение баз данных SQL Server в Azure Virtual Machines позволяет использовать их и в локальных и в облачных приложениях.

Следующий рабочий процесс решения позволяет понять, когда следует использовать SQL Server на виртуальной машине или базу данных SQL Azure.

  • Для новых приложений баз данных можно использовать либо базу данных SQL Azure (SQL Database), либо SQL Server на виртуальной машине в Azure.

    • Если база данных SQL поддерживает все требуемые функции, подготовьте новый экземпляр базы данных SQL в Azure. Разработайте новое приложение баз данных с помощью Azure SDK, модулей для Visual Studio, Java, PHP или Node.js. Разверните приложения в Azure и создайте таблицы в базе данных SQL.

    • Если база данных SQL не поддерживает все требуемые функции и нет желания вкладывать средства в перепроектирование базы данных приложения, подготовьте новую виртуальную машину, использовав образ платформы SQL Server, поставляемый на Портале управления. Создайте пакет развертывания базы данных с помощью SQL Server Data Tools. Разверните этот пакет базы данных в SQL Server на виртуальной машине. С помощью традиционных средств администрирования, например среды SQL Server Management Studio, можно обновлять базу данных, отслеживать ее и выполнять управление ею.

  • Сначала определите, какие из существующих баз данных приложения вы хотите перенести в SQL Server на виртуальные машины Azure. Затем выберите один из следующих вариантов.

    • Преобразуйте физические или виртуальные машины в виртуальные жесткие диски Hyper-V с помощью мастеров System Center 2012 Virtual Machine. Загрузите файлы VHD в хранилище Azure, используя командлет Add-AzureVHD. Новую виртуальную машину также можно развернуть с помощью ранее загруженного VHD-файла. С помощью традиционных средств администрирования, например среды SQL Server Management Studio, можно обновлять базу данных, отслеживать ее и выполнять управление ею.

    • Выделите новую виртуальную машину с образом платформы SQL Server и требуемые облачные ресурсы на новом портале управления Azure. Создайте пакет развертывания базы данных с помощью SQL Server Data Tools и среды SQL Server Management Studio. Перенесите существующий проект приложения в Azure Project с помощью Azure SDK, модулей для Visual Studio, Java, PHP или Node.js. Разверните проект приложение в Azure для получения доступа к данным в облаке.

При переносе базы данных в SQL Server на виртуальных машинах Azure следуйте следующим шагам в указанном порядке.

  1. Подготовьте на локальных машинах схему базы данных и файлы данных с помощью средств DAC, резервного копирования или отсоединения. Дополнительные сведения см. в разделе Как подготовить локальные схему и данные и передать их в экземпляр SQL Server на виртуальной машине. ниже.

  2. Дополнительно вы может сжать и зашифровать файлы перед их передачей в Azure.

  3. Переместите схему базы данных и файлы данных и журналов в Azure. Если используется командлет Add-AzureVHD, сначала разместите файлы на виртуальном жестком диске (VHD) и затем загрузите его в Azure. Дополнительные сведения см. в разделе Перемещение схемы базы данных и файла данных на виртуальную машину Azure ниже.

  4. Загрузите схему базы данных и файл данных на SQL Server на виртуальной машине. Дополнительные сведения см. в разделе Как подготовить локальные схему и данные и передать их в экземпляр SQL Server на виртуальной машине. ниже.

  5. Воссоздайте на виртуальной машине Azure все метаданные, которые не могли быть созданы средствами миграции на SQL Server.

Начиная с выпуска SQL Server 2014, для развертывания базы данных их экземпляра Database Engine в SQL Server в виртуальной машине Azure можно использовать мастер виртуальных машин Azure в среде SQL Server Management Studio. Дополнительные сведения см. в разделе Развертывание базы данных SQL Server в виртуальных машинах Azure.

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

Для подготовки к передаче схемы базы данных и файлов данных с локального компьютера в Azure можно использовать приложение уровня данных.

  • Файл .DACPAC. Файл DACPAC включает все определения объектов SQL Server, таких как таблицы, представления и объекты экземпляров, связанные с базой данных пользователя. C помощью пакета DACPAC осуществляется захват и развертывание схемы базы данных, включая обновление существующей базы данных. Для получения дополнительных сведений о том, как извлечь пакет приложения уровня данных из существующей базы данных SQL Server, см. раздел Мастер извлечения пакета приложения уровня данных из базы данных.

  • Файл .BACPAC. Файл BACPAC содержит схему базы данных, а также данные, хранимые в ней. Пакет BACPAC в основном предназначен для хранения схемы и данных. Это логический эквивалент резервной копии базы данных, он не может использоваться для обновления существующих баз данных. Дополнительные сведения о создании файла BACPAC см. в разделе Экспорт приложения уровня данных.

Схему и хранимые в базе данные можно экспортировать в файл BACPAC. Затем схему и данные можно импортировать в новую базу данных на основном сервере. Оба варианта поддерживаются средствами управления базами данных: Среда Server Management Studio и DACFx API. Для получения доп. сведений см. разделы Импорт файла BACPAC File для создания новой пользовательской базы данных и Пространство имен Microsoft.SqlServer.Dac в библиотеке MSDN.

Примечания.

  • При выполнении DAC-операций файлы BACPAC и DACPAC не шифруются автоматически. Следует убедиться в том, что канал связи между локальным сервером и Azure достаточно безопасен. Также файлы можно зашифровать отдельно, чтобы получить дополнительный уровень защиты, пока он хранится в хранилище больших двоичных объектов Azure или на локальном диске.

  • DAC не поддерживает полнотекстовые каталоги.

  • Для повышения безопасности имена входа, использующие аутентификацию SQL Server, хранятся в пакете приложения уровня данных без пароля. При развертывании или обновлении пакета имя входа создается как отключенное имя входа с созданным паролем. Чтобы включить имена входа, войдите в систему под учетной записью, имеющей разрешение ALTER ANY LOGIN и с помощью команды ALTER LOGIN включите имя входа и присвойте ему новый пароль, который можно передать пользователю. Это не требуется для имен входа, использующих аутентификацию Windows, поскольку SQL Server не управляет их паролями.

Для переноса базы данных на другой экземпляр SQL Server или на другой сервер можно использовать операции резервного копирования и восстановления. Если SQL Server на локальной машине и на виртуальной машине имеют одинаковую версию, то на виртуальную машину можно скопировать файл резервной копии базы данных и затем восстановить базу. Дополнительные сведения о создании резервной копии и восстановлении баз данных см. в разделе Резервное копирование и восстановление баз данных SQL Server.

Примечания.

  • Резервное копирование и восстановление выполнятся быстрее, чем операции с приложением уровня данных.

  • Можно создать сжатую копию данных. Дополнительные сведения о сжатии см. в разделе Сжатие резервной копии.

  • Можно использовать существующие и знакомые средства, например мастер резервного копирования среды SQL Server Management Studio и другие сторонние инструменты.

  • При перемещении базы данных для приложения на другой экземпляр сервера необходимо повторно создать все метаданные подчиненных сущностей и объектов в базах данных master и msdb на экземпляре целевого сервера. Дополнительные сведения см. в разделе Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера.

Для переноса базы данных на другой экземпляр SQL Server или на другой сервер применяются операции присоединения и отсоединения. Скопируйте файлы данных (MDF, NDF) и журналов (LDF) в локальную папку виртуальной машины и затем подсоедините базу данных. Дополнительные сведения см. в разделе Перенос базы данных с помощью команд подсоединения и отсоединения.

Примечания.

  • Отсоединение базы данных означает удаление ее с экземпляра SQL Server, но сама база данных остается неповрежденной со всеми своими файлами данных и журналов транзакций. Для этого необходим перевод базы данных-источника в режим «вне сети». Это наилучшим образом подходит для обновления баз данных или переноса особо больших баз данных.

  • Базу данных невозможно отсоединить в следующих случаях.

    • База данных реплицируется и публикуется.

    • Имеется моментальный снимок базы данных.

    • База данных находится в сеансе зеркального отображения базы данных.

    • База данных помечена как подозрительная.

    • База данных является системной базой данных.

  • Рекомендуется выполнить полное резервное копирование и перезапустить создание разностных резервных копий до отсоединения.

  • При выполнении отсоединения и подсоединения баз данных воспользуйтесь функцией сжатия данных, чтобы уменьшить объем данных внутри базы данных и размер самой базы данных. Кроме того, можно использовать другие средства сжатия и распаковки в отношении отсоединенных файлов.

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

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

  • Мастер копирования баз данных в среде SQL Server Management Studio можно использовать для копирования или перемещения баз данных между серверами, а также для обновления базы данных до более новой версии. Дополнительные сведения см. в разделе Использование мастера копирования баз данных. Если планируется использовать этот инструмент для копирования баз данных из локальной среды в Azure, необходимо установить виртуальную сеть Azure для обеспечения возможности гибридного подключения.

  • Мастер импорта и экспорта SQL Server предоставляет самый простой способ копирования данных между источниками и создания основных пакетов. Дополнительные сведения о мастере см. в разделе Мастер импорта и экспорта SQL Server. Назначение мастера импорта и экспорта SQL Server заключается в копировании данных из исходного расположения в целевое. Этот мастер может также создать целевую базу данных и целевые таблицы. Однако, если нужно скопировать несколько баз данных, таблиц или других объектов базы данных, следует использовать мастер копирования баз данных. Если планируется использовать мастер импорта и экспорта SQL Server для копирования баз данных из локальной среды в Azure, необходимо установить виртуальную сеть Azure для обеспечения возможности гибридного подключения.

  • С помощью мастера формирования и публикации скриптов можно создавать скрипты для переноса баз данных между экземплярами компонента SQL Server Database Engine. Сформированные скрипты могут выполняться на другом экземпляре компонента Database Engine. С помощью мастера также можно публиковать содержимое базы данных непосредственно в веб-службе, созданной с помощью проекта служб Database Publishing Services. Создать скрипты можно как для всей базы данных, так и ограничить их определенными данными или объектами. Дополнительные сведения см. в разделе Использование мастера формирования и публикации скриптов.

  • Можно использовать класс Transfer из библиотеки управляющих объектов SQL Server (SMO). Дополнительные сведения см. в разделе Передача данных. При использовании библиотеки SMO исходная и целевая базы данных могут оставаться в сети, также не требуется перемещать файлы из хранилища больших двоичных объектов Azure в качестве отдельного шага. Недостаток при использовании библиотеки SMO — клиентское подключение к базе данных и протокол потока табличных данных, которые могут быть неэффективны для больших наборов данных.

  • Задача «Передача базы данных» копирует или перемещает базу данных может переместить или скопировать базу данных между двумя экземплярами SQL Server. База данных может быть передана в режимах «в сети» или «вне сети». В режиме «в сети» база данных остается присоединенной и передается с помощью SQL Management Objects (SMO) для копирования объектов. В режиме «вне сети» база данных отсоединяется, файлы базы данных перемещаются или копируются, база данных прикрепляется на целевом объекте после того, как передача успешно завершена.

Маленькие файлы (копии базы данных, BACPAC или DACPAC) можно скопировать на виртуальную машину, используя операции копирования и вставки с помощью удаленного рабочего стола.

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

  • Используйте командлет Add-AzureVhd для передачи VHD-файлов в Azure. VHD-файл может включать базу данных. Дополнительные сведения см. в разделе Создание и отправка виртуального жесткого диска с операционной системой Windows Server.

  • Передайте файл в хранилище больших двоичных объектов в том же центре данных, где размещена виртуальная машина, затем выполните удаленное подключение к рабочему столу на виртуальной машине и загрузите файл из BLOB-хранилища. Дополнительные сведения см. в разделе Основные сведения об облачном хранилище.

  • Скопируйте напрямую схему и файлы данных в общую папку виртуальной машины.

  • Используйте веб-браузер для загрузки базы данных из Интернета. Например, можно загрузить базу данных AdventureWorks со страницы codeplex

В следующей таблице описаны некоторые распространенные методы передачи файлов на виртуальную машину Azure. Там же приведены плюсы и минусы каждого метода.

 

Метод передачи Преимущества Недостатки

Загрузка копии в виде VHD-файла в хранилище больших двоичных объектов Azure с помощью командлета Add-AzureVhd

  • Быстро, оптимизировано для Azure

  • Средства могут работать с ненадежными соединениями.

  • Безопасная передача

  • Командлет Add-AzureVhd предоставляется корпорацией Майкрософт. Если требуется графический пользовательский интерфейс, воспользуйтесь сторонними средствами.

  • Прежде чем воспользоваться командлетом Add-AzureVhd для загрузки VHD в Azure, следует подготовить сам файл, а также создать и передать на портал сертификат управления.

  • Подключите загруженный файл VHD к виртуальной машине Azure в качестве диска данных.

Копирование файлов в общий ресурс виртуальной машины

  • Простой в использовании

  • Доступно множество клиентских средств

  • Файл размещается напрямую на виртуальной машине

  • Требуется VPN-соединение.

  • Только несколько средств копирования файлов имеют функцию восстановления и перезапуска копирования.

Сведения об установке, настройке и развертывании SQL Server на виртуальной машине см. в руководстве : Подготовка виртуальной машины SQL Server в Azure. В этом учебнике описывается, как использовать портал управления Azure для выбора и установки стандартной виртуальной машины. Также разъясняются процессы удаленного подключения к виртуальной машине с использованием удаленного рабочего стола и подключения к SQL Server на виртуальной машине с использованием среды SQL Server Management Studio.

Дополнительные сведения см. в разделах Подготовка к переходу на SQL Server в виртуальных машинах Azure и Развертывание SQL Server в виртуальных машинах Azure.

См. также

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв
Показ:
© 2014 Microsoft