Поделиться через


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

Применимо к:Управляемый экземпляр SQL Azure

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

Примечание.

В этом кратком руководстве описывается, как восстановить базу данных, которая была вручную сохранена в виде резервной копии в Хранилище BLOB-объектов Azure. Если вы хотите восстановить из автоматической резервной копии, см. статью "Восстановление базы данных из автоматической резервной копии".

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

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

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

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

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

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

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

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

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

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

    Скриншот страницы в мастере **Восстановление**. В разделе

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

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

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

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

    Screenshot диалогового окна выбора расположения файла резервной копии. В разделе контейнера хранилища Azure выбран параметр Add.

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

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

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

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

Примечание.

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

  1. В Connect to a Майкрософт Subscription выберите Sign in для входа в подписку Azure.

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

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

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

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

    Снимок экрана диалогового окна «Подключение к подписке Майкрософт». В разделе «Выбор подписки для использования» выделена стрелка вниз в списке.

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

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

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

    Скриншот диалогового окна

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

    Скриншот диалогового окна Подключение к подписке Майкрософт. Подсвечены элементы: Создание учетных данных, ОК и поле срока действия политики общего доступа.

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

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

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

    Скриншот диалогового окна

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Внимание

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

    Скриншот, демонстрирующий редактор запросов SSMS. Оператор CREATE CREDENTIAL отображается, а сообщение указывает, что запрос успешно выполнен.

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

    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, см. различия T-SQL между SQL Server и Управляемый экземпляр SQL Azure.