Краткое руководство. Резервное копирование и восстановление SQL с помощью Хранилища BLOB-объектов Azure
Область применения: SQL Server 2016 (13.x) и более поздних версий Управляемый экземпляр SQL Azure
С помощью этого краткого руководства вы узнаете, как создавать и восстанавливать резервные копии с помощью Хранилища BLOB-объектов Azure. В статье объясняется, как создать контейнер Хранилище BLOB-объектов Azure, записать резервную копию в Хранилище BLOB-объектов Azure, а затем выполнить восстановление.
Примечание.
В SQL Server 2012 SP1 CU2 добавлена поддержка создания резервных копий Хранилища BLOB-объектов Azure. SQL Server 2014 и более ранних версий не поддерживают подписанный URL-адрес, описанный в этом кратком руководстве.
Для SQL Server 2014 и более предыдущих версий используйте руководство. Резервное копирование и восстановление SQL Server 2014 в хранилище BLOB-объектов Microsoft Azure.
Необходимые компоненты
Чтобы завершить работу с этим кратким руководством, необходимо ознакомиться с понятиями резервного копирования и восстановления SQL Server и синтаксисом T-SQL. Вам потребуется учетная запись хранения Azure, среда SQL Server Management Studio (SSMS) и доступ к серверу SQL Server или Управляемому экземпляру SQL Azure. Кроме того, учетная запись, используемая для выдачи команд резервного копирования и восстановления, должна находиться в роли базы данных db_backupoperator с разрешениями изменение любых учетных данных.
- Получите бесплатную учетную запись Azure.
- Создайте учетную запись хранения Azure.
- Установите SQL Server Management Studio.
- Установите выпуск SQL Server 2017 Developer Edition или разверните Управляемый экземпляр SQL Azure с подключением, установленным через виртуальную машину SQL Azure или с помощью соединения точка — сеть.
- Назначьте учетной записи пользователя роль db_backupoperator и предоставьте разрешения на изменение любых учетных данных.
Создание контейнера Хранилище BLOB-объектов Azure
Контейнер обеспечивает группирование набора больших двоичных объектов. Все BLOB-объекты должны содержаться в контейнере. Учетная запись хранения может содержать неограниченное количество контейнеров, но не менее одного. Контейнер может хранить неограниченное количество больших двоичных объектов.
Чтобы создать контейнер, выполните следующие действия.
Откройте портал Azure.
Войдите в свою учетную запись хранения.
Выберите учетную запись хранения, прокрутите вниз до раздела Службы BLOB-объектов.
Выберите BLOB-объекты, а затем щелкните + Контейнер, чтобы добавить новый контейнер.
Введите имя контейнера и запишите его. Эти сведения используются в URL-адресе (пути к файлу резервной копии) в инструкциях T-SQL далее в этом руководстве.
Нажмите ОК.
Примечание.
Для резервного копирования и восстановления SQL Server проводится проверка подлинности учетной записи хранилища даже при создании открытого контейнера. Можно также создать контейнер программным образом с помощью API-интерфейсов REST. Дополнительные сведения см. в статье Создание контейнера.
Создание тестовой базы данных
На этом шаге создайте тестовую базу данных с помощью среды SQL Server Management Studio (SSMS).
- Запустите среду SQL Server Management Studio (SSMS) и подключитесь к своему экземпляру SQL Server.
- Откройте окно Новый запрос.
- Выполните следующий код Transact-SQL (T-SQL) для создания тестовой базы данных. Обновите узел Базы данных в обозревателе объектов для отображения новой базы данных. Для созданных баз данных в Управляемом экземпляре SQL автоматически включается TDE. Чтобы продолжить, вам необходимо отключить его.
USE [master]
GO
-- Create database
CREATE DATABASE [SQLTestDB]
GO
-- Create table in database
USE [SQLTestDB]
GO
CREATE TABLE SQLTest (
ID INT NOT NULL PRIMARY KEY,
c1 VARCHAR(100) NOT NULL,
dt1 DATETIME NOT NULL DEFAULT getdate()
)
GO
-- Populate table
USE [SQLTestDB]
GO
INSERT INTO SQLTest (ID, c1) VALUES (1, 'test1')
INSERT INTO SQLTest (ID, c1) VALUES (2, 'test2')
INSERT INTO SQLTest (ID, c1) VALUES (3, 'test3')
INSERT INTO SQLTest (ID, c1) VALUES (4, 'test4')
INSERT INTO SQLTest (ID, c1) VALUES (5, 'test5')
GO
SELECT * FROM SQLTest
GO
-- Disable TDE for newly-created databases on SQL Managed Instance
USE [SQLTestDB];
GO
ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
GO
DROP DATABASE ENCRYPTION KEY
GO
Создание учетных данных
Выполните приведенные ниже действия, чтобы создать учетные данные, используя графический пользовательский интерфейс в SQL Server Management Studio. Кроме того, вы можете создать учетные данные программным способом.
Разверните узел Базы данных в обозревателе объектов среды SQL Server Management Studio (SSMS).
Щелкните правой кнопкой мыши новую базу данных
SQLTestDB
, наведите указатель мыши на параметр Задачи, а затем выберите Архивировать..., чтобы запустить мастер Резервное копирование базы данных.В раскрывающемся списке расположений Архивировать на выберите URL-адрес, а затем выберите Добавить, чтобы открыть диалоговое окно Выбор расположения резервной копии.
В диалоговом окне Выбор расположения резервной копии щелкните Новый контейнер, чтобы открыть окно Соединение с подпиской Майкрософт.
Войдите на портал Azure, выбрав Вход..., а затем выполните процедуру входа.
Выберите подписку в раскрывающемся списке.
Выберите учетную запись хранения в раскрывающемся списке.
В раскрывающемся списке выберите контейнер, созданный ранее.
Выберите Создать учетные данные, чтобы создать подписанный URL-адрес (SAS). Сохраните это значение, так как оно понадобится для восстановления.
Нажмите кнопку ОК, чтобы закрыть диалоговое окно Соединение с подпиской Майкрософт. Это действие приведет к заполнению значения Контейнер службы хранилища Azure в диалоговом окне Выбор расположения резервной копии. Нажмите кнопку ОК, чтобы выбрать указанный контейнер хранилища и закройте диалоговое окно.
На этом этапе вы можете перейти к шагу 4 в следующем разделе, чтобы создать резервную копию базы данных, или закрыть мастер Резервное копирование базы данных, если вместо этого вы хотите продолжить использовать Transact-SQL для создания резервной копии базы данных.
Резервное копирование базы данных
На этом шаге выполните резервное копирование базы данных SQLTestDB
в учетную запись хранилища BLOB-объектов Azure, используя графический пользовательский интерфейс в среде SQL Server Management Studio или Transact-SQL (T-SQL).
Если мастер Резервное копирование базы данных еще не открыт, разверните узел Базы данных в обозревателе объектов в среде SQL Server Management Studio (SSMS).
Щелкните правой кнопкой мыши новую базу данных
SQLTestDB
, наведите указатель мыши на параметр Задачи, а затем выберите Архивировать..., чтобы запустить мастер Резервное копирование базы данных.Выберите URL-адрес из раскрывающегося списка Архивировать на, а затем выберите Добавить, чтобы открыть диалоговое окно Выбор расположения резервной копии.
В раскрывающемся списке Контейнер службы хранилища Azure выберите контейнер, созданный на предыдущем шаге.
Нажмите кнопку ОК в мастере Резервное копирование базы данных, чтобы создать резервную копию базы данных.
После успешного создания резервной копии нажмите кнопку ОК, чтобы закрыть все окна, связанные с резервным копированием.
Совет
Вы можете выполнить скрипт с помощью команды Transact-SQL, выбрав "Скрипт " в верхней части мастера резервного копирования базы данных :
Удаление базы данных
На этом шаге удалите базу данных перед выполнением восстановления. Этот этап необходим только для целей данного учебника, но он вряд ли будет использоваться в обычных процедурах управления базой данных. Вы можете пропустить этот шаг, но тогда вам нужно будет либо изменить имя базы данных во время восстановления на управляемом экземпляре, либо выполнить команду восстановления WITH REPLACE
для успешного восстановления базы данных локально.
- Разверните узел Базы данных в обозревателе объектов, щелкните правой кнопкой мыши базу данных
SQLTestDB
и выберите "Удалить", чтобы запустить мастер Удаление объекта. - В управляемом экземпляре нажмите кнопку ОК, чтобы удалить базу данных. В локальной среде установите флажок рядом с параметром Закрыть существующие соединения, а затем нажмите кнопку ОК, чтобы удалить базу данных.
Восстановление базы данных
На этом шаге восстановите базу данных, используя графический пользовательский интерфейс в среде SQL Server Management Studio или Transact-SQL.
Щелкните правой кнопкой мыши узел Базы данных в обозревателе объектов в среде SQL Server Management Studio и выберите Восстановить базу данных.
Щелкните Устройство и нажмите кнопку с многоточием (...), чтобы выбрать устройство.
Выберите URL-адрес в раскрывающемся списке Тип носителя резервной копии и щелкните Добавить, чтобы добавить устройство.
Выберите контейнер из раскрывающегося списка, а затем вставьте подписанный URL-адрес (SAS), который вы сохранили при создании учетных данных.
Нажмите кнопку ОК, чтобы выбрать расположение файла резервной копии.
Разверните узел Контейнеры и выберите контейнер, в котором расположен файл резервной копии.
Выберите файл резервной копии, который необходимо восстановить, а затем нажмите кнопку ОК. Если файлы не отображаются, возможно, используется неправильный ключ SAS. Вы можете заново создать ключ SAS, выполнив те же действия, что и перед добавлением контейнера.
Снова нажмите ОК в диалоговом окне Выбор устройств резервного копирования, чтобы закрыть его.
Чтобы восстановить базу данных, нажмите кнопку ОК.
См. также
Ниже приведены некоторые рекомендации по использованию основных принципов и рекомендаций при использовании Хранилище BLOB-объектов Azure для резервного копирования SQL Server.