- PVSM.RU - https://www.pvsm.ru -

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure

Собственно, идея резервировать базу в Облако не нова. Эта функциональность появилась в ныне здравствующем SQL Server 2012 с выходом 21.01.2013 [1] кумулятивного обновления №2 к Service Pack 1 (Build 11.0.3339.0 [2]). Мы разбирали ее в посте Создание резервной копии БД в Azure Storage [3]. Поэтому я не буду повторять, что это очень удобная возможность, которая обеспечивает миграцию данных из on-premise SQL Server в облачный (IaaS) и наоборот, а также облегчает перенос базы между двумя разнесенными on-premise SQL Serverами, когда Облако выполняет роль хаба. До сих пор это могло делаться только из скрипта T-SQL. В версии 2014 СТР в этот процесс добавились две новые возможности. Во-первых, выполнять резервное копирование в Windows Azure теперь можно непосредственно из интерфейса SQL Server Management Studio и включать его на регулярной основе в автоматизированный план поддержки базы [4], и во-вторых, что немаловажно, осуществлять шифрование резервных копий с использованием сертификатов или асимметричных ключей на основе криптостойких алгоритмов защиты. Впрочем, обо всем по порядку.

В этом посте я проделаю, по сути, то же, что и в предыдущем [3], только не из командной строки, а из нового графического интерфейса. В отличие от лаконичного скриптового решения будет больше картинок.
Для начала нам, как нетрудно догадаться, понадобится, собственно, SQL Server 2014 CTP2, взять который можно здесь [5]. Срок действия этой пробной версии истекает 31 марта 2014 г. При скачивании потребуется выбрать тип дистрибутива (iso/cab/Azure), разрядность (32- или 64-битный) и язык. На данный момент предлагаются English, German, Spanish, Japanese, Chinese (Traditional). В релизе русский, как всегда, поддерживаться будет, ну пока вот то, что есть. Установка не вызывает каких-либо неожиданностей/сложностей по сравнению с текущей версией. Я поставил 2014 CTP2 бок о бок именованным экземпляром рядом с 2012. Сосуществуют нормально, не дерутся в отличие от СТР1 [6]. Можно приступать к экспериментам.

Запускаем новую SQL Server Management Studio. Для счастливых обладателей Windows 8.x, которые не пользуются детальными плитками на стартовом экране, где они сгруппированы по SQL Server 2012, SQL Server 2014 и т.д.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.1

а предпочитают по-быстрому набрать в строке поиска что-нибудь типа «sql»:

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.2

теперь этих плиток несколько. Нужно выбирать ту, которая относится к C:ProgramDataMicrosoftWindowsStart MenuProgramsMicrosoft SQL Server 2014 CTP2, т.е. ссылается на C:Program Files (x86)Microsoft SQL Server120ToolsBinnManagementStudioSsms.exe.

В SSMS из контекстного меню базы выбираем, как всегда, Tasks -> Back Up и обращаем внимание, что в новом интерфейсе резервного копирования наряду с традиционным диском появился еще URL в качестве альтернативной опции размещения резервной копии.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.3

Если в SSMS 2014 CTP2 подключить экземпляр сервера версии 2012 и ниже, эта опция для него доступна не будет. Для экземпляров 2014 СТР2 она доступна независимо от того, в каком compatibility level находится база.
После выбора Back up to = URL интерфейс секции Destination изменяется так, чтобы предоставить возможность ввода параметров, которые мы ранее использовали в команде BACKUP DATABASE… TO URL [3] (см. Скрипт 2). Требуется задать. File name — имя файла резервной копии, который будет сохранен в сторидже Windows Azure.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.4

Нажатие кнопки Create напротив SQL Credential соответствует выполнению команды CREATE CREDENTIAL [3] (см. Скрипт 2). Для подтверждения подлинности при обращении к облачной подписке можно использовать сертификат управления [7] или профиль публикации (файл с расширением .publishsettings). Второй способ мы использовали в посте Введение в разработку и тестирование приложений в Облаке [8] (Рис.16-17), поэтому здесь для разнообразия посмотрим первый способ.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.5

Открываем командную строку Visual Studio от лица администратора и создаем самозаверяющий сертификат для работы с Windows Azure с длиной ключа не менее 2048 бит, который сохраняется в хранилище сертификатов по умолчанию — Personal.
makecert -sky exchange -r -n "CN=AzureCert" -pe -a sha1 -len 2048 -ss My
Скрипт 1

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.6

Если Visual Studio нет, утилиту makecert можно скачать, например, в составе Windows 8 SDK [9]. После этого искать ее нужно где-нибудь в C:Program Files (x86)Windows Kits8.хbinx64.
Чтобы проверить, что сертификат создан успешно, вызываем обычное командное окно (лучше опять-таки от имени администратора) и вводим certmgr.msc. В разделе Personal видим свежесозданный сертификат.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.7

Экспортируем его (без закрытого ключа) в .cer-файл. Из контекстного меню сертификата выбираем All Tasks -> Export:

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.8

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.9

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.10

Теперь идем в портал администрирования Windows Azure, выбираем в панели слева последний пункт Settings, в верхнем меню — Management Certificates, а внизу нажимаем кнопку Upload и указываем .cer-файл, экспортированный на Рис.10.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.11

Он появляется в списке сертификатов:

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.12

Возвращаемся на Рис.5, нажимаем кнопку Select (management certificate from the certificate store) и в открывшемся окне выбираем строчку со свежесозданным сертификатом AzureCert:

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.13

В текстбоксе слева от кнопки Select появляется thumbprint указанного сертификата.
Остается ввести подписку — ее имя или ID можно прочесть там же, в Settings портала администрирования Windows Azure (Рис.11-12), если в верхнем меню сдвинуться влево на пункт Subcriptions.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.14

После ввода сертификата управления Windows Azure и Subscription ID перемещаемся на комбобокс Storage Account. Происходит небольшая пауза, в ходе которых SSMS пытается зайти в облако, указывая заданную подписку и сертификат, все у нее получается, и внизу открывается список учетных записей хранения Azure, относящихся к данной подписке.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.15

Выбираем интересующую, в которую будет происходить бэкап, и жмем кнопку Create. Создается Credential, и мы возвращаемся на Рис.4. Остается указать контейнер выбранной учетной записи хранения Azure. Как и в предыдущем посте [3], я укажу публичный контейнер container1. Поле URL prefix при этом заполняется автоматически. Если все уазано правильно, редактировать его не требуется.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.16

Жмем кнопку ОК, бэкап начинает выполняться.

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.17

После его окончания заходим в контейнер container1 учетной записи хранения tststorage на портале управления Windows Azure и наблюдаем свежесозданный в нем блоб, в котором находится файл резервной копии БД AdventureWorks:

Создание резервных копий БД SQL Server 2014 CTP2 в Windows Azure
Рис.18

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

Автор: alexejs

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/azure/47967

Ссылки в тексте:

[1] 21.01.2013: http://support.microsoft.com/kb/2772858

[2] Build 11.0.3339.0: http://support.microsoft.com/kb/2790947

[3] Создание резервной копии БД в Azure Storage: http://habrahabr.ru/post/171901/

[4] включать его на регулярной основе в автоматизированный план поддержки базы: http://msdn.microsoft.com/en-us/library/dn449496(v=sql.120).aspx

[5] здесь: http://www.microsoft.com/en-us/sqlserver/sql-server-2014.aspx

[6] СТР1: http://habrahabr.ru/company/microsoft/blog/197008/

[7] сертификат управления: http://msdn.microsoft.com/ru-ru/library/windowsazure/gg551722.aspx

[8] Введение в разработку и тестирование приложений в Облаке: http://habrahabr.ru/company/microsoft/blog/196618/

[9] Windows 8 SDK: http://msdn.microsoft.com/en-us/windows/hardware/hh852363.aspx

[10] Источник: http://habrahabr.ru/post/201568/