Упражнение. Восстановление данных путем восстановления базы данных SQL Azure

Завершено

Пробные восстановления являются ключевым компонентом любой стратегии аварийного восстановления.

Вам следует ознакомиться с инструкциями по восстановлению резервной копии базы данных до точки во времени на случай, если в этом возникнет необходимость. Вы также хотите изучить, сколько времени занимает операция восстановления, ключевая часть вычисления возражения времени восстановления (RTO). Вы можете запланировать это время в руководстве для вашей организации.

Восстановленную базу данных можно рассматривать как замену исходной базы данных или же использовать как источник данных для обновления исходной базы данных. Хотя вы можете перезаписать и заменить базу данных в экземпляре SQL Server или Управляемый экземпляр SQL Azure, вы не можете перезаписать База данных SQL Azure с помощью восстановления.

Давайте создадим восстановление из автоматических резервных копий База данных SQL Azure.

Подтверждение активности резервных копий

Совет

Создание базы данных может занять до 15 минут после завершения первой успешной резервной копии.

Давайте рассмотрим резервные копии, которые azure SQL принимает для нас автоматически.

  1. В Azure Cloud Shell выполните следующую команду PowerShell, чтобы задать для переменной значение экземпляра SQL Server:

    $sqlserver=Get-AzSqlServer
    
  2. Просмотрите доступные точки восстановления на основе резервных копий с помощью командлета Get-AzSqlDatabaseRestorePoint PowerShell:

    Get-AzSqlDatabaseRestorePoint `
        -ResourceGroupName <rgn>[sandbox resource group name]</rgn> `
        -DatabaseName sql-erp-db `
        -ServerName $sqlserver.ServerName
    

    Вы должны получить выходные данные, аналогичные следующему коду. Если команда не возвращает никакого значения, резервное копирование еще не запущено. Повторите эту команду через несколько минут.

    ResourceGroupName        : <rgn>[sandbox resource group name]</rgn>
    ServerName               : erpserver-53903
    DatabaseName             : sql-erp-db
    Location                 : East US
    RestorePointType         : CONTINUOUS
    RestorePointCreationDate :
    EarliestRestoreDate      : 9/24/19 4:21:21 PM
    RestorePointLabel        :
    

    Значение RestorePointType равно CONTINUOUS, что означает, что резервные копии создаются автоматически. Значение EarliestRestoreDate указывает метку времени первой резервной копии. Убедившись в выполнении резервного копирования, можно продолжить работу с упражнением.

Удаление таблицы из базы данных

Начнем с имитации ошибочного изменения базы данных.

  1. В меню портала Azure или на домашней странице выберите Все ресурсы > erpserver-NNNN > Базы данных SQL, а затем выберите sql-erp-db.

  2. Мы будем использовать редактор запросов T-SQL, встроенный в портал Azure. Выберите редактор запросов (предварительная версия) и войдите с помощью пользователя dbadmin и пароля, указанного для этой учетной записи. Следующие команды T-SQL также будут работать в SQL Server Management Studio или расширение mssql для Visual Studio Code или других средств запросов T-SQL.

  3. Давайте уберем таблицу Person , созданную ранее. В новом окне запросов выполните приведенную ниже команду. Запишите время на часы.

    DROP TABLE Person
    
  4. Чтобы проверить таблицы в базе данных, выберите Новый запрос. Затем в окне "Запрос 2 " выполните следующую команду, чтобы перечислить все таблицы в базе данных:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables AS t
    ORDER BY schema_name, table_name;
    

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

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

Создание восстановления на определенный момент времени

Таблица Person была ошибочно удалена. Давайте восстановим базу данных с предыдущим состоянием.

  1. В меню портала Azure или на домашней странице выберите Все ресурсы, а затем базу данных sql-erp-db.

  2. В верхней области страницы Обзор выберите Восстановить.

  3. Перейдите на вкладку "Основы" на странице "Восстановление базы данных " с этими значениями, а затем нажмите кнопку "Проверить и создать". Здесь вы укажите новое имя базы данных для восстановленной версии базы данных.

    Параметр Значение
    Выбрать источник Точка во времени
    Имя базы данных sql-erp-db-restored
    Точка восстановления Выберите время перед удалением Person таблицы, возможно, 10 минут назад.
    Сервер erpserver-xxxxx
    Want to use SQL elastic pool? (Нужно ли использовать эластичный пул баз данных SQL?) No
    Вычисления и хранение Default value
    Избыточность хранилища резервных копий Локально избыточное хранилище резервных копий

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

  4. Нажмите кнопку создания. Восстановление базы данных занимает несколько минут.

Просмотр восстановленной базы данных

Восстановленная база данных содержит таблицу Person .

  1. В меню портал Azure или на домашнейстранице выберите все ресурсы и выберите sql-erp-db-restored базу данных.

  2. Выберите редактор запросов (предварительная версия) и войдите с помощью пользователя dbadmin и пароля, указанного для этой учетной записи.

  3. Чтобы проверить таблицы в базе данных, в окне запроса 1 выполните следующую команду:

    SELECT schema_name(t.schema_id) as schema_name,
        t.name as table_name
    FROM sys.tables AS t
    ORDER BY schema_name, table_name;
    

    База данных была восстановлена до состояния, в том числе Person таблицы.

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

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

    SELECT * FROM Person;
    

    Вы должны увидеть введенные ранее данные.

    Снимок экрана: подтвержденные результаты после запроса к таблицам в базе данных.

Теперь вы узнали, как восстановить базу данных, если что-то непреднамеренное происходит с данными. Вы ознакомились с процессом восстановления. Теперь вы можете убедиться, что ваша организация правильно определила процедуры резервного копирования и восстановления.