Краткое руководство. Резервное копирование и восстановление SQL с помощью службы хранилища BLOB-объектов AzureQuickstart: SQL backup and restore to Azure Blob storage service

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure (только управляемый экземпляр) нетAzure Synapse Analytics (хранилище данных SQL) нетParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

С помощью этого краткого руководства вы научитесь создавать и восстанавливать резервные копии, используя службу хранилища BLOB-объектов Azure.This quickstart helps you understand how to write backups to and restore from the Azure Blob Storage Service. В этой статье описывается создание контейнера больших двоичных объектов Azure, запись резервной копии в службу BLOB-объектов и выполнение восстановления.The article explains how to create an Azure Blob Container, write a backup to the blob service, and then perform a restore.

предварительные требованияPrerequisites

Чтобы выполнить задания этого руководства, необходимо владеть основными понятиями резервного копирования и восстановления SQL ServerSQL Server и синтаксисом T-SQL.To complete this quickstart, you must be familiar with SQL ServerSQL Server backup and restore concepts and T-SQL syntax. Вам потребуется учетная запись хранения Azure, среда SQL Server Management Studio (SSMS), доступ к серверу SQL Server или управляемому экземпляру Базы данных SQL Azure.You need an Azure storage account, SQL Server Management Studio (SSMS), and access to either a server that's running SQL Server or an Azure SQL Database managed instance. Кроме того, учетная запись, используемая для выдачи команд резервного копирования и восстановления, должна находиться в роли базы данных db_backupoperator с разрешениями изменение любых учетных данных.Additionally, the account used to issue the BACKUP and RESTORE commands should be in the db_backupoperator database role with alter any credential permissions.

Создание контейнера больших двоичных объектов AzureCreate Azure Blob container

Контейнер группирует набор больших двоичных объектов.A container provides a grouping of a set of blobs. Все большие двоичные объекты должны находиться в контейнере.All blobs must be in a container. Учетная запись хранения может содержать неограниченное количество контейнеров, но не менее одного.A storage account can contain an unlimited number of containers, but must have at least one container. В контейнере может храниться неограниченное количество больших двоичных объектов.A container can store an unlimited number of blobs.

Чтобы создать контейнер, выполните следующие действия.To create a Container, follow these steps:

  1. Откройте портал Azure.Open the Azure portal.

  2. Перейдите к своей учетной записи хранения.Navigate to your Storage Account.

  3. Выберите учетную запись хранения, прокрутите вниз до раздела Службы BLOB-объектов.Select the storage account, scroll down to Blob Services.

  4. Выберите BLOB-объекты, а затем щелкните + Контейнер, чтобы добавить новый контейнер.Select Blobs and then select + Container to add a new container.

  5. Введите имя контейнера и запишите его.Enter the name for the container and make note of the container name you specified. Эти сведения используются в URL-адресе (пути к файлу резервной копии) в инструкциях T-SQL далее в этом руководстве.This information is used in the URL (path to backup file) in the T-SQL statements later in this quickstart.

  6. Нажмите кнопку ОК.Select OK.

    Создание контейнера

Примечание

Для резервного копирования и восстановления SQL Server проводится проверка подлинности учетной записи хранилища даже при создании открытого контейнера.Authentication to the storage account is required for SQL Server backup and restore even if you choose to create a public container. Можно также создать контейнер программным образом с помощью API-интерфейсов REST.You can also create a container programmatically using REST APIs. Дополнительные сведения см. в статье Создание контейнера.For more information, see Create container

Создание тестовой базы данныхCreate a test database

На этом шаге создайте тестовую базу данных с помощью среды SQL Server Management Studio (SSMS).In this step, create a test database using SQL Server Management Studio (SSMS).

  1. Запустите среду SQL Server Management Studio (SSMS) и подключитесь к своему экземпляру SQL Server.Launch SQL Server Management Studio (SSMS) and connect to your SQL Server instance.
  2. Откройте окно Новый запрос.Open a New Query window.
  3. Выполните следующий код Transact-SQL (T-SQL) для создания тестовой базы данных.Run the following Transact-SQL (T-SQL) code to create your test database. Обновите узел Базы данных в обозревателе объектов для отображения новой базы данных.Refresh the Databases node in Object Explorer to see your new database. Для созданных баз данных в управляемом экземпляре Базы данных SQL Azure автоматически включается TDE. Чтобы продолжить, вам необходимо отключить его.Newly created databases on an Azure SQL Database managed instance automatically have TDE enabled so you'll need to disable it to proceed.
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 a managed instance 
USE [SQLTestDB];
GO
ALTER DATABASE [SQLTestDB] SET ENCRYPTION OFF;
GO

Создание учетных данныхCreate credential

Выполните приведенные ниже действия, чтобы создать учетные данные, используя графический пользовательский интерфейс в SQL Server Management Studio.Use the GUI in SQL Server Management Studio to create the credential by following the steps below. Кроме того, вы можете создать учетные данные программным способом.Alternatively, you can create the credential programmatically as well.

  1. Разверните узел Базы данных в обозревателе объектов среды SQL Server Management Studio (SSMS).Expand the Databases node within Object Explorer of SQL Server Management Studio(SSMS).

  2. Щелкните правой кнопкой мыши новую базу данных SQLTestDB, наведите указатель мыши на параметр Задачи, а затем выберите Архивировать... , чтобы запустить мастер Резервное копирование базы данных.Right-click your new SQLTestDB database, hover over Tasks and then select Back up... to launch the Back Up Database wizard.

  3. В раскрывающемся списке расположений Архивировать на выберите URL-адрес, а затем выберите Добавить, чтобы открыть диалоговое окно Выбор расположения резервной копии.Select URL from the Back up to destination drop-down, and then select Add to launch the Select Backup Destination dialog box.

    Резервное копирование по URL-адресу

  4. В диалоговом окне Выбор расположения резервной копии щелкните Новый контейнер, чтобы открыть окно Соединение с подпиской Майкрософт.Select New container on the Select Backup Destination dialog box to launch the Connect to a Microsoft Subscription window.

    Расположение резервной копии

  5. Войдите на портал Azure, выбрав Вход... , а затем выполните процедуру входа.Sign in to the Azure portal by selecting Sign In... and then proceed through the sign-in process.

  6. Выберите подписку в раскрывающемся списке.Select your subscription from the drop-drown.

  7. Выберите учетную запись хранения в раскрывающемся списке.Select your storage account from the drop-down.

  8. В раскрывающемся списке выберите контейнер, созданный ранее.Select the container you created previously from the drop-down.

  9. Выберите Создать учетные данные, чтобы создать подписанный URL-адрес (SAS) .Select Create Credential to generate your Shared Access Signature (SAS). Сохраните это значение, так как оно понадобится для восстановления.Save this value as you'll need it for the restore.

    Создание учетных данных

  10. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Соединение с подпиской Майкрософт.Select OK to close the Connect to a Microsoft Subscription window. Это действие приведет к заполнению значения Контейнер службы хранилища Azure в диалоговом окне Выбор расположения резервной копии.This populates the Azure storage container value on the Select Backup Destination dialog box. Нажмите кнопку ОК, чтобы выбрать указанный контейнер хранилища и закройте диалоговое окно.Select OK to choose the selected storage container, and close the dialog box.

  11. На этом этапе вы можете перейти к шагу 4 в следующем разделе, чтобы создать резервную копию базы данных, или закрыть мастер Резервное копирование базы данных, если вместо этого вы хотите продолжить использовать Transact-SQL для создания резервной копии базы данных.At this point, you can either skip ahead to step 4 in the next section to take the backup of the database, or close the Back up Database wizard if you want to proceed with using Transact-SQL to back up the database instead.

Резервное копирование базы данныхBack up database

На этом шаге выполните резервное копирование базы данных SQLTestDB в учетную запись хранилища BLOB-объектов Azure, используя графический пользовательский интерфейс в среде SQL Server Management Studio или Transact-SQL (T-SQL).In this step, back up the database SQLTestDB to your Azure Blob storage account using either the GUI within SQL Server Management Studio, or Transact-SQL (T-SQL).

  1. Если мастер Резервное копирование базы данных еще не открыт, разверните узел Базы данных в обозревателе объектов в среде SQL Server Management Studio (SSMS).If the Back Up Database wizard is not already open, expand the Databases node within Object Explorer of SQL Server Management Studio(SSMS).

  2. Щелкните правой кнопкой мыши новую базу данных SQLTestDB, наведите указатель мыши на параметр Задачи, а затем выберите Архивировать... , чтобы запустить мастер Резервное копирование базы данных.Right-click your new SQLTestDB database, hover over Tasks and then select Back up... to launch the Back Up Database wizard.

  3. Выберите URL-адрес из раскрывающегося списка Архивировать на, а затем выберите Добавить, чтобы открыть диалоговое окно Выбор расположения резервной копии.Select URL from the Back up to drop down, and then select Add to launch the Select Backup Destination dialog box.

    Резервное копирование по URL-адресу

  4. В раскрывающемся списке Контейнер службы хранилища Azure выберите контейнер, созданный на предыдущем шаге.Select the container you created in the previous step in the Azure storage container drop-down.

    Контейнер хранилища Azure

  5. Нажмите кнопку ОК в мастере Резервное копирование базы данных, чтобы создать резервную копию базы данных.Select OK on the Back Up Database wizard to back up your database.

  6. После успешного создания резервной копии нажмите кнопку ОК, чтобы закрыть все окна, связанные с резервным копированием.Select OK once your database is backed up successfully to close all backup-related windows.

    Совет

    Вы можете создать скрипт Transact-SQL для этой команды, выбрав Скрипт в верхней части мастера Резервное копирование базы данных. команда "Скрипт"You can script out the Transact-SQL behind this command by selecting Script at the top of the Back Up Database wizard: Script command

Удаление базы данныхDelete database

На этом шаге удалите базу данных перед выполнением восстановления.In this step, delete the database before performing the restore. Этот этап необходим только для целей данного учебника, но он вряд ли будет использоваться в обычных процедурах управления базой данных.This step is only necessary for the purpose of this tutorial, but is unlikely to be used in normal database management procedures. Вы можете пропустить этот шаг, но тогда вам нужно будет либо изменить имя базы данных во время восстановления на управляемом экземпляре, либо выполнить команду восстановления WITH REPLACE для успешного восстановления базы данных локально.You can skip this step, but then you'll either need to change the name of the database during the restore on a managed instance, or run the restore command WITH REPLACE to restore the database successfully on-premises.

  1. Разверните узел Базы данных в обозревателе объектов, щелкните правой кнопкой мыши базу данных SQLTestDB и выберите "Удалить", чтобы запустить мастер Удаление объекта.Expand the Databases node in Object explorer, right-click the SQLTestDB database, and select delete to launch the Delete object wizard.
  2. В управляемом экземпляре нажмите кнопку ОК, чтобы удалить базу данных.On a managed instance, select OK to delete the database. В локальной среде установите флажок рядом с параметром Закрыть существующие соединения, а затем нажмите кнопку ОК, чтобы удалить базу данных.On-premises, check the checkbox next to Close existing connections and then select OK to delete the database.

Восстановление базы данныхRestore database

На этом шаге восстановите базу данных, используя графический пользовательский интерфейс в среде SQL Server Management Studio или Transact-SQL.In this step, restore the database using either the GUI in SQL Server Management Studio, or with Transact-SQL.

  1. Щелкните правой кнопкой мыши узел Базы данных в обозревателе объектов в среде SQL Server Management Studio и выберите Восстановить базу данных.Right-click the Databases node in Object Explorer within SQL Server Management Studio and select Restore Database.

  2. Щелкните Устройство и нажмите кнопку с многоточием (...), чтобы выбрать устройство.Select Device and then select the ellipses (...) to choose the device.

    Выбор устройства для восстановления

  3. Выберите URL-адрес в раскрывающемся списке Тип носителя резервной копии и щелкните Добавить, чтобы добавить устройство.Select URL from the Backup media type drop-down and select Add to add your device.

    Добавление устройства резервного копирования

  4. Выберите контейнер из раскрывающегося списка, а затем вставьте подписанный URL-адрес (SAS), который вы сохранили при создании учетных данных.Select the container from the drop-down and then paste in the Shared Access Signature (SAS) you saved when creating the credential.

    Расположение резервной копии

  5. Нажмите кнопку ОК, чтобы выбрать расположение файла резервной копии.Select OK to select the backup file location.

  6. Разверните узел Контейнеры и выберите контейнер, в котором расположен файл резервной копии.Expand Containers and select the container where your backup file exists.

  7. Выберите файл резервной копии, который необходимо восстановить, а затем нажмите кнопку ОК.Select the backup file you want to restore and then select OK. Если файлы не отображаются, возможно, используется неправильный ключ SAS.If no files are visible, then you may be using the wrong SAS key. Вы можете заново создать ключ SAS, выполнив те же действия, что и перед добавлением контейнера.You can regenerate the SAS key again by following the same steps as before to add the container.

    Выбор файла восстановления

  8. Снова нажмите ОК в диалоговом окне Выбор устройств резервного копирования, чтобы закрыть его.Select OK to close the Select backup devices dialog box.

  9. Чтобы восстановить базу данных, нажмите кнопку ОК.Select OK to restore your database.

См. также разделSee also

Чтобы разобраться в концепциях и рекомендациях использования службы хранилища BLOB-объектов Azure для резервного копирования SQL ServerSQL Server, рекомендуется изучить перечисленные ниже материалы.Following is some recommended reading to understand the concepts and best practices when using Azure Blob storage service for SQL ServerSQL Server backups.