Настройка резервного копирования базы SQL
Как настроить автоматическое резервное копирование SQL базы с запуском по расписанию?
В данной статье, на примере MS SQL 2014, будут приведены 3-и варианта резервного копирования SQL базы:
Теперь по каждому пункту подробнее...
1. Средствами операционной системы Windows, через командную строку.
Для запуска резервного копирования баз SQL средствами Windows будем использовать команду sqlcmd.
Шаблонная версия:
Как пример: создаём файл Backup-base1.cmd, за основу берём текст шаблонной версии, вставляем в файл и редактируем так, как надо нам
Этот вариант можно использовать и без файла, прописав содержимое файла прямо в параметры планировщика.
Ниже текст готового файла, который подойдёт всем, только в нём необходимо указать свои данные:
2. Средствами MS SQL, написанием T-SQL кода.
Запускаем Microsoft SQL Server 2014 Management Studio
В меню раскрываем SQL Server Agent / Агент SQL Server и Jobs / Задания
Нажимаем правой кнопкой мыши и выбираем New Job / Создать задание
Указываем имя задания
Создаём новый шаг задания
В поле Command / Команда прописываем
Создаём расписание Schedule / Расписание, выбрав необходимые дни и необходимое время
Всё готово!
Для проверки, можно запустить задание вручную, для этого в разделе заданий, необходимо по созданному заданию нажать правой кнопкой мыши и выбрать Запустить задание на шаге
Запускаем Microsoft SQL Server 2014 Management Studio.
В меню раскрываем Management / Управление и Maintenance Plans / Планы обслуживания
Нажимаем правой кнопкой мыши New Maintenance Plans / Создать план обслуживания
Указываем название плана обслуживания и увидим окно конструктора
В конструкторе настраиваем расписание задания
В инструментах выбираем Back Up Database Task / Резервное копирование базы данных и перетягиваем в окно конструктора
Открываем Back Up Database Task / Резервное копирование базы данных и в поле Database / Базы данных выбираем базу для создания резервной копии
На вкладке Destination / Целевой объект в поле Folder / Папка указываем путь где будут храниться резервные копии
На вкладке Options / Параметры в поле Set backup compression / Сжимать резервные копии выбрать: Compress backup / Сжимать резервные копии
Нажимаем OK и сохраняем внесенные изменения в конструкторе.
В данной статье, на примере MS SQL 2014, будут приведены 3-и варианта резервного копирования SQL базы:
- средствами операционной системы Windows, через командную строку;
- средствами MS SQL, написанием T-SQL кода;
- средствами MS SQL, с помощью плана обслуживания.
Теперь по каждому пункту подробнее...
1. Средствами операционной системы Windows, через командную строку.
Для запуска резервного копирования баз SQL средствами Windows будем использовать команду sqlcmd.
Шаблонная версия:
sqlcmd -S <server> -U <user> -P <password> -Q "BACKUP DATABASE [<database>] TO DISK = N'<file path>' <options>"Как пример: создаём файл Backup-base1.cmd, за основу берём текст шаблонной версии, вставляем в файл и редактируем так, как надо нам
sqlcmd -S localhost -U user -P passw -Q "BACKUP DATABASE [base1] TO DISK = N'C:\SQL-Backup\base1.bak' WITH NOFORMAT, NOINIT, NAME = N'base1-full', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10"где:- localhost - имя сервера, на котором развёрнут SQL;
- user - имя пользователя SQL;
- passw - пароль пользователя SQL;
- base1 - имя базы SQL, которой делаем резервную копию;
- C:\SQL-Backup\base1.bak - путь, куда сохраняем резервную копию SQL базы.
Этот вариант можно использовать и без файла, прописав содержимое файла прямо в параметры планировщика.
Ниже текст готового файла, который подойдёт всем, только в нём необходимо указать свои данные:
@echo off
set server=localhost
set user=sa
set passw=passw
set base=base1
set backup=C:\SQL-Backup\%base%-%date%.bak
sqlcmd -S %server% -U %user% -P %passw% -Q "BACKUP DATABASE [%base%] TO DISK = N'%backup%' WITH NOFORMAT, NOINIT, NAME = N'%base%-full', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10" Вкратце: set - это команда, которая задаёт переменную, дальше имя переменной server и после знака = идет текст с вашими данными, т.е. имя сервера на котором установлен SQL, а дальше по коду переменная устанавливается - %server%, со знаками %.2. Средствами MS SQL, написанием T-SQL кода.
Запускаем Microsoft SQL Server 2014 Management Studio
В меню раскрываем SQL Server Agent / Агент SQL Server и Jobs / Задания
Нажимаем правой кнопкой мыши и выбираем New Job / Создать задание
Указываем имя задания
Создаём новый шаг задания
В поле Command / Команда прописываем
BACKUP DATABASE [base1] TO DISK = N'C:\SQL-Backup\base1.bak' WITH NOFORMAT, NOINIT, NAME = N'base1', SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 10заменив путь для хранения резервных копий и имя базы на свои, где:- base1 - имя базы SQL, которой делаем резервную копию;
- C:\SQL-Backup\base1.bak - путь, куда сохраняем резервную копию SQL базы.
Создаём расписание Schedule / Расписание, выбрав необходимые дни и необходимое время
Всё готово!
Для проверки, можно запустить задание вручную, для этого в разделе заданий, необходимо по созданному заданию нажать правой кнопкой мыши и выбрать Запустить задание на шаге
3. Средствами MS SQL, с помощью плана обслуживания.
Запускаем Microsoft SQL Server 2014 Management Studio.
В меню раскрываем Management / Управление и Maintenance Plans / Планы обслуживания
Нажимаем правой кнопкой мыши New Maintenance Plans / Создать план обслуживания
Указываем название плана обслуживания и увидим окно конструктора
В конструкторе настраиваем расписание задания
В инструментах выбираем Back Up Database Task / Резервное копирование базы данных и перетягиваем в окно конструктора
Открываем Back Up Database Task / Резервное копирование базы данных и в поле Database / Базы данных выбираем базу для создания резервной копии
На вкладке Destination / Целевой объект в поле Folder / Папка указываем путь где будут храниться резервные копии
На вкладке Options / Параметры в поле Set backup compression / Сжимать резервные копии выбрать: Compress backup / Сжимать резервные копии
Нажимаем OK и сохраняем внесенные изменения в конструкторе.
Комментариев 0