Как создать резервную копию SQL Server RDS в корзине S3

Управление резервными копиями для экземпляров SQL Server RDS имеет решающее значение для обеспечения доступности данных и восстановления после катастроф. AWS предоставляет инструменты для упрощения этого процесса, включая команды для резервного копирования баз данных SQL Server RDS непосредственно в Amazon S3. Эта статья проведет вас через команды и настройки, необходимые для выполнения резервного копирования и восстановления.

Резервное копирование SQL Server RDS в S3

Основная хранимая процедура, используемая для создания резервных копий, – это msdb.dbo.rds_backup_database. Эта команда позволяет вам указать базу данных для резервного копирования и местоположение S3, где будет храниться резервная копия.

Параметры пакета

Хранимая процедура поддерживает несколько параметров, которые классифицируются как обязательные и необязательные.

Обязательные параметры

  • @source_db_name: Имя базы данных для резервного копирования.
  • @s3_arn_to_backup_to: ARN, указывающий на корзину Amazon S3, которую следует использовать для резервного копирования, включая имя файла резервной копии.
    • Файл может иметь любое расширение, но обычно используется .bak.

Необязательные параметры

  • @kms_master_key_arn

    • ARN для симметричного ключа шифрования KMS, используемого для шифрования резервной копии.
    • Вы не можете использовать ключ шифрования по умолчанию. Использование ключа по умолчанию приведет к сбою резервного копирования.
    • Если вы не укажете ключ KMS, файл резервной копии не будет зашифрован.
    • Поддерживаются только симметричные ключи KMS.
  • @overwrite_s3_backup_file

    • Определяет, следует ли перезаписывать существующий файл.
    • 0 (по умолчанию): Не перезаписывать существующий файл. Возвращает ошибку, если файл уже существует.
    • 1: Перезаписывать существующий файл, даже если он не является файлом резервной копии.
  • @тип

    • Определяет тип резервной копии.
    • ПОЛНАЯ (по умолчанию): Выполняет полную резервную копию.
    • ДИФФЕРЕНЦИАЛЬНАЯ: Создает дифференциальную резервную копию на основе последней полной резервной копии.
    • Важно: Для работы дифференциальных резервных копий не должно быть снимков между последней полной резервной копией и дифференциальной резервной копией. Если снимок существует, выполните еще одну полную резервную копию перед дифференциальной резервной копией. Ниже приведен пример запроса для проверки последней полной резервной копии:

      MS SQL

       

  • @number_of_files

    • Указывает количество файлов (частей), на которые будет разделен резервный копированный файл. Максимум: 10.
    • Если установлено значение 1 или пропущено, будет создан один резервный копированный файл.
    • Многофайловые резервные копии должны использовать символ * в имени файла, который будет заменен алфанумерическими строками во время создания. Например:
      • Ввод: backup*.bak, @number_of_files = 4
      • Вывод: backup1-of-4.bak, backup2-of-4.bak, backup3-of-4.bak, backup4-of-4.bak
  • @block_size

    • Указывает физический размер блока (в байтах) для операций резервного копирования.
    • Допустимые значения: 512, 1024, 2048, 4096, 8192, 16384, 32768, 65536.
  • @max_transfer_size

    • Обозначает максимальный объем данных (в байтах), передаваемых за одну операцию ввода-вывода.
    • Допустимые значения: Множители 65536 байт до 4194304 байт (4 МБ).
  • @buffer_count

    • Общее количество буферов ввода-вывода, используемых в процессе резервного копирования.

Синтаксис команды

MS SQL

Пример: Полное резервное копирование в S3

MS SQL

Настройка сжатия резервного копирования

Чтобы сэкономить место и сократить время передачи, вы можете включить сжатие для резервных копий SQL Server RDS, используя команды rdsadmin.

Включить сжатие

MS SQL

 

Отключение сжатия

MS SQL

Примечание: SQL Express не поддерживает сжатие резервного копирования; включение этой функции в таких случаях приведет к сбоям резервного копирования.

Выполнение резервного копирования нативными средствами SQL Server

Amazon RDS также поддерживает функционал резервного копирования SQL Server. Ниже приведены команды для операций резервного копирования и восстановления.

Команды резервного копирования

Команда полного резервного копирования

MS SQL

Команда дифференциального резервного копирования

MS SQL

 

Команда восстановления

Команда дифференциального восстановления

MS SQL

Команда дифференциального восстановления

MS SQL

 

Мониторинг и управление задачами резервного копирования

Проверка статуса задачи:

MS SQL

Отмена задачи резервного копирования:

MS SQL

Соображения

  • Убедитесь, что корзина S3, используемая в командах, имеет необходимые разрешения для доступа из экземпляра RDS.
  • Для конфиденциальных данных можно использовать мастер-ключ AWS KMS для шифрования резервных копий перед их хранением в S3, указав @kms_master_key_arn.

Дополнительные ресурсы

Для более подробных примеров и информации обратитесь к официальной документации AWS по резервному копированию SQL Server.

Этот руководство предлагает надежное основание для управления резервными копиями SQL Server RDS с помощью Amazon S3. Для более продвинутых конфигураций, пожалуйста, обратитесь к документации AWS или экспериментируйте с предоставленными параметрами, чтобы настроить процесс резервного копирования в соответствии с вашим окружением.

Source:
https://dzone.com/articles/how-to-backup-sql-server-rds-to-an-s3-bucket