Краткое руководство. Восстановление резервной копии базы данных в Управляемый экземпляр SQL Azure с помощью SSMS

Область применения: Управляемый экземпляр SQL Azure

В этом кратком руководстве вы будете использовать SQL Server Management Studio (SSMS) для восстановления базы данных из Хранилище BLOB-объектов Azure в Управляемый экземпляр SQL Azure. Краткое руководство восстанавливает пример базы данных Wide World Importers из общедоступного файла резервного копирования с помощью SAS.

Примечание.

Необходимые компоненты

В этом кратком руководстве:

Примечание.

Дополнительные сведения о резервном копировании и восстановлении базы данных SQL Server с помощью хранилища BLOB-объектов и ключа подписанного URL-адреса см. в статье SQL Server Backup to URL-адрес.

Использование мастера восстановления для восстановления из файла резервной копии

В SSMS выполните действия, описанные в следующих разделах, чтобы восстановить базу данных Wide World Importers для Управляемый экземпляр SQL с помощью мастера восстановления. Файл резервной копии базы данных хранится в предварительно настроенной учетной записи хранения BLOB-объектов.

Открытие мастера восстановления

  1. Откройте SSMS и подключитесь к управляемому экземпляру SQL.

  2. В обозреватель объектов щелкните правой кнопкой мыши папку "Базы данных" управляемого экземпляра SQL, а затем выберите "Восстановить базу данных", чтобы открыть мастер восстановления.

    Снимок экрана: обозреватель объектов в SSMS. Выбрана папка

Выбор источника резервного копирования

  1. В мастере восстановления выберите многоточие (...), чтобы выбрать источник резервного набора для восстановления.

    Снимок экрана: страница в мастере восстановления. В разделе

  2. В окне Выбор устройств резервного копирования нажмите кнопку Добавить. В типе носителя резервного копирования URL-адрес является единственным доступным вариантом, так как он поддерживается только для исходного типа. Нажмите ОК.

    Снимок экрана: диалоговое окно

  3. В разделе "Выбор расположения файла резервного копирования" выберите один из трех вариантов, чтобы предоставить сведения о расположении файлов резервной копии:

    • Выберите предварительно зарегистрированный контейнер хранилища из списка контейнеров хранилища Azure.
    • Введите новый контейнер хранилища и подписанный URL-адрес. Новые учетные данные SQL будут зарегистрированы для вас.
    • Выберите Добавить, чтобы просмотреть дополнительные контейнеры хранилища в подписке Azure.

    Снимок экрана: диалоговое окно

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

    Чтобы восстановить пример базы данных Wide World Importers из общедоступного хранилища только для чтения, укажите значение https://mitutorials.blob.core.windows.net/examples/ и поле подписанного URL-адреса, укажите любое значение, например SAS.

    Снимок экрана: диалоговое окно

Обзор контейнеров хранилища подписок Azure

Примечание.

Эти действия не необходимы для восстановления WideWorldImporters образца базы данных из общедоступного хранилища BLOB-объектов Azure, доступного только для чтения, но необходимы для восстановления баз данных из собственного хранилища BLOB-объектов Azure.

  1. В разделе "Подключение к подписке Майкрософт" выберите "Войти" , чтобы войти в подписку Azure.

    Снимок экрана: диалоговое окно

  2. Войдите в учетную запись Майкрософт, чтобы инициировать сеанс в Azure.

    Снимок экрана: диалоговое окно входа в учетную запись. Логотип Майкрософт, поле входа и другие элементы пользовательского интерфейса отображаются.

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

    Снимок экрана: диалоговое окно

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

    Снимок экрана: диалоговое окно

  5. Выберите контейнер BLOB-объектов, содержащий файлы резервной копии.

    Снимок экрана: диалоговое окно

  6. Введите дату окончания срока действия политики общего доступа и нажмите кнопку "Создать учетные данные". Создается подписанный URL-адрес с правильными разрешениями. Нажмите ОК.

    Снимок экрана: диалоговое окно

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

Теперь, когда вы выбрали контейнер хранилища, в диалоговом окне "Поиск резервного копирования" в Microsoft Azure появится файл резервной копии.

  1. В левой области разверните структуру папок, чтобы отобразить папку, содержащую файлы резервной копии. В правой области выберите все файлы резервной копии, связанные с набором резервных копий, который вы восстанавливаете, и нажмите кнопку "ОК". Например, на следующем снимке экрана показано общедоступное хранилище BLOB-объектов только для чтения, содержащее WideWorldImporters образец базы данных.

    Снимок экрана: поиск файла резервного копирования в диалоговом окне Microsoft Azure. Выбран файл резервного копирования WideWorldImporters-Standard.bak, а кнопка

    SSMS проверяет резервный набор данных. Этот процесс занимает не более нескольких секунд. Длительность зависит от размера резервного набора данных.

  2. Если выполняется проверка резервного копирования, необходимо указать имя восстанавливаемой базы данных. По умолчанию в разделе "Назначение" поле "База данных" содержит имя базы данных резервного набора данных. Чтобы изменить имя, введите новое имя базы данных. Нажмите ОК.

    Снимок экрана: страница в мастере восстановления. В разделе

    Начинается процесс восстановления. Длительность зависит от размера резервного набора данных.

    Снимок экрана: страница в мастере восстановления. Индикатор хода выполнения вызывается.

  3. После завершения процесса восстановления диалоговое окно показывает, что это было успешно. Нажмите ОК.

    Снимок экрана: диалоговое окно на странице мастера восстановления. Сообщение в диалоговом окне указывает, что база данных успешно восстановлена.

  4. В обозреватель объектов проверьте восстановленную базу данных, нажав кнопку "Обновить".

    Снимок экрана: обозреватель объектов. Восстановленная база данных вызывается.

Восстановление из файла резервной копии с помощью T-SQL

В качестве альтернативы мастеру восстановления можно использовать инструкции T-SQL для восстановления базы данных. В SSMS выполните следующие действия, чтобы восстановить базу данных wide World Importers в Управляемый экземпляр SQL с помощью T-SQL. Файл резервной копии базы данных хранится в предварительно настроенной учетной записи хранения BLOB-объектов.

  1. Откройте SSMS и подключитесь к управляемому экземпляру SQL.

  2. В обозреватель объектов щелкните правой кнопкой мыши управляемый экземпляр SQL и выберите новый запрос, чтобы открыть новое окно запроса.

  3. Выполните следующую инструкцию T-SQL, которая использует общедоступный предварительно настроенный контейнер хранилища и ключ подписанного URL-адреса для создания учетных данных в управляемом экземпляре SQL.

    Внимание

    • Объект CREDENTIAL должен соответствовать пути к контейнеру, начинаться с https и не может содержать косую черту в конце.
    • Аргумент IDENTITY должен иметь значение SHARED ACCESS SIGNATURE.
    • SECRET должен быть маркером подписанного URL-адреса и не может содержать ведущий ?маркер.
    • В этом примере опущено, SECRET так как учетная запись хранения общедоступна. Если вы используете учетную запись хранения, которая недоступна в общедоступной среде, необходимо предоставить маркер подписанного URL-адреса.
    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE';
    

    Снимок экрана: Редактор запросов SSMS. Инструкция CREATE CREDENTIAL отображается, а сообщение указывает, что запрос успешно выполнен.

    Путь к учетным данным в предыдущем примере предоставляет доступ к одному файлу. Вы также можете создать маркер подписанного URL-адреса в пути к папке, например:

    CREATE CREDENTIAL [https://<your storage>.blob.core.windows.net/databases/backups/]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = '<your shared access signature>'; -- omit the leading ?
    
  4. Чтобы проверить правильность работы учетных данных, выполните следующую инструкцию, которая использует URL-адрес для получения списка файлов резервной копии.

    RESTORE FILELISTONLY FROM URL = 'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    Снимок экрана: Редактор запросов SSMS. Оператор RESTORE FILELISTONLY отображается, а вкладка

  5. Выполните следующую инструкцию, чтобы восстановить пример базы данных Wide World Importers.

    RESTORE DATABASE [WideWorldImportersExample] FROM URL =
      'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    Снимок экрана: Редактор запросов SSMS. Оператор RESTORE DATABASE отображается, а сообщение указывает, что запрос успешно выполнен.

    Совет

    Если вы получаете Error: 3201 или Operating system error 86(The specified network password is not correct.), скорее всего, учетные данные SAS (созданные на предыдущих шагах) неправильно созданы. DROP CREDENTIAL и повторно создайте имя учетных данных, удостоверение и секрет.

  6. Выполните следующую инструкцию, чтобы отслеживать состояние процесса восстановления.

    SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete
       , dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
    FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
    WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE');
    
  7. По завершении процесса восстановления просмотрите базу данных в обозреватель объектов. Вы можете убедиться, что база данных восстановлена с помощью представления sys.dm_operation_status .

Примечание.

Операция восстановления базы данных является асинхронной и повторяемой. В SSMS может возникнуть ошибка, если подключение завершается сбоем или истекает время ожидания. Управляемый экземпляр SQL пытается восстановить базу данных в фоновом режиме, и вы можете отслеживать ход выполнения процесса восстановления с помощью sys.dm_exec_requests и sys.dm_operation_status представлений.

На некоторых этапах процесса восстановления отображается уникальный идентификатор вместо фактического имени базы данных в системных представлениях. Сведения о различиях в поведении инструкций см. в RESTORE статье О различиях между SQL Server и Управляемый экземпляр SQL Azure T-SQL.