• DevOps
  • Защита информации
  • ИТ-поддержка
  • Создание резервных копий БД SQL на серверы объектного хранилища S3

    В этой статье объясним как настроить автоматическое резервное копирование баз данных Microsoft SQL Server на серверы объектного хранилища S3.

    Нам понадобится:

    • MSSQL Server, включая Microsoft SQL Server Express Edition.
    • Утилита, позволяющая подключать облачное хранилище как сетевой диск.

    Шаг 1. Настройка сетевого диска облачного хранилища Yandex Object Storage

    • Открываем установленную утилиту с оф. сайта. В нашем случае “Диск-О” (т.к. ограничение триала: 10 загрузок в сутки для сторонних S3 сервисов).
    • Вводим данные для авторизации и видим подключенный диск. Также можно воспользоваться аналогичными ПО: Raidrive, AirLiveDrive и тд.
    • В окне “мой компьютер” отобразится подключенный диск.
    • Сетевой диск “Z” подключен ,переходим к настройке резервных копий БД.

    Шаг 2. Настройка резервного копирования средствами MS SQL Server

    В нашем случае бесплатное решение MS SQL Server Express.

    • Откройте SQL Server Management Studio, разверните «Базы данных» и выберите базу данных, резервную копию которой вы хотите создать. Щелкните базу данных правой кнопкой мыши, выберите Задачи и выберите Резервное копирование.
    Настройка скрипта для резервного копирования

    Рисунок 1 - Настройка скрипта для резервного копирования

    • Откроется диалоговое окно «Резервное копирование базы данных». Здесь вы можете настроить различные параметры резервного копирования (имя, сжатие, шифрование).
    • Обратите внимание, что мы изменили место назначения по умолчанию на Z: диск, это виртуальный диск, который указывает на подключенный сетевой диск (в нашем случае Yandex Object Storage).
    • После настройки резервного копирования нажмите «Сценарий» -> «Действие сценария для файла» и сохраните сгенерированный сценарий в файл (если используете MS SQL Server Express Edition) или в качестве скрипта T-SQL (если используете MS SQL Server Standard ).

    Тело sql-скрипта:

    BACKUP DATABASE [base] TO  DISK = N'Z:\Backup\base_full_backup.bak' 
    WITH  DESCRIPTION = N'Automatic backup to YOS S3 (full)', 
    NOFORMAT, NOINIT,  NAME = N'base-Full Database Backup', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
    GO
    

    Откройте командную строку и введите следующую команду, если вы используете проверку подлинности Windows:

    sqlcmd -S .\SQLEXPRESS -i c:\scripts\full-db-backup.sql

    Или введите следующую команду, если вы используете аутентификацию SQL:

    sqlcmd -U BackupUser -P password -S .\SQLEXPRESS -i c:\scripts\full-db-backup.sql

    Создаем .bat-файл следующего содержания:

    @echo off
    sqlcmd -S .\SQLEXPRESS -i c:\scripts\full-db-backup.sql
    

    И помещаем в планировщик задач на нужное время.

    Автоматическое резервное копирование баз данных с SQL на Yandex Object Storage настроено.

    Не нашли ответа на свой вопрос?
    Содержание