Восстановление баз данных с поддержкой Stretch (Stretch Database)

Область применения: SQL Server 2016 (13.x) и более поздних версий — только для Windows

Важно!

Stretch Database устарел в SQL Server 2022 (16.x) и База данных SQL Azure. Эта функция будет удалена в будущей версии ядро СУБД. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется.

Восстановление резервной копии базы данных после различных типов сбоев, ошибок и аварийных ситуаций.

Дополнительные сведения о создании резервной копии см. в статье Резервное копирование баз данных с поддержкой Stretch.

Создание резервной копии — только часть комплексного решения по обеспечению высокой доступности и непрерывности бизнес-процессов. Дополнительные сведения о высокой доступности см. в статье Решения высокого уровня доступности.

Восстановление данных SQL Server

После сбоя или повреждения оборудования базу данных SQL Server можно восстановить из резервной копии. Для этого можно использовать привычные методы восстановления SQL Server. Дополнительные сведения см. в статье Обзор процессов восстановления.

После восстановления базы данных SQL Server необходимо выполнить хранимую процедуру sys.sp_rda_reauthorize_db , чтобы повторно установить соединение между базой данных SQL Server с поддержкой Stretch и удаленной базой данных Azure. Дополнительные сведения см. в статье Восстановление подключения базы данных SQL Server к удаленной базе данных Azure.

Восстановление удаленных данных Azure

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

Служба SQL Server Stretch Database в Azure создает моментальные снимки всех актуальных данных минимум каждые 8 часов, используя для этого моментальные снимки службы хранилища Azure. Эти моментальные снимки хранятся в течение семи дней. Такой подход позволяет восстановить данные до одной из как минимум 21 точек во времени за прошедшие семь дней вплоть до времени последнего моментального снимка.

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

  1. Войдите на портал Azure.
  2. В левой части экрана выберите Обзор, а затем Базы данных SQL.
  3. Найдите и выберите базу данных.
  4. В верхней части панели базы данных выберите Восстановить.
  5. Укажите новое имя базы данных, выберите точку восстановления, а затем выберите Создать.
  6. Начнется процесс восстановления базы данных, который можно отслеживать с помощью области Уведомления.

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

Служба SQL Server Stretch Database в Azure создает моментальный снимок базы данных перед ее удалением и хранит его в течение семи дней. После этого моментальные снимки активной базы данных сохраняться не будут. Это позволяет восстановить удаленную базу данных до момента ее удаления.

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

  1. Войдите на портал Azure.
  2. В левой части экрана выберите Обзор, а затем — SQL Servers.
  3. Найдите и выберите сервер.
  4. Прокрутите список вниз до раздела "Операции" на панели сервера и выберите область Удаленные базы данных.
  5. Выберите удаленную базу данных, которую нужно восстановить.
  6. Укажите новое имя базы данных и выберите Создать.
  7. Начнется процесс восстановления базы данных, который можно отслеживать с помощью области Уведомления.

Восстановление подключения базы данных SQL Server к удаленной базе данных Azure

  1. Если вы собираетесь подключиться к восстановленной базе данных Azure под другим именем или в другом регионе, выполните хранимую процедуру sys.sp_rda_deauthorize_db, чтобы отключиться от предыдущей базы данных Azure.

  2. Запустите хранимую процедуру sys.sp_rda_reauthorize_db , чтобы заново установить подключение локальной базы данных с поддержкой Stretch к Azure.

    • Укажите учетные данные для имеющейся базы данных как значение sysname или varchar(128). (Не используйте varchar(max).) Вы можете найти имя учетных данных в представлении sys.database_scoped_credentials.

    • Укажите, нужно ли сделать копию удаленных данных или подключиться к копии (рекомендуется).

      USE <Stretch-enabled database name>;
      GO
      EXEC sp_rda_reauthorize_db
          @credential = N'<existing_database_scoped_credential_name>',
          @with_copy = 1;
      GO
      

См. также