Намедни мне надоело что я вручную слежу за количеством бекапов на серверах базы данных, хоть и работает там задание по ежедневному переносу файлов резервных копий на общее хранилище бекапов, но ведь место же заканчивается и приходится в ручную отбирать наиболее старые файлы и удалять. Вообще это как-то не профессионально, пускай уж встроенный софт SQL Server 2014 SP2 поработает на меня и в этом плане. Как показала справка F1 это возможно, а потому я решил для себя подготовить небольшую заметку чтобы не забыть как это делается, хотя какой уж там забыть, все делается уже на автомате, но это ведь на этой работе, а когда я буду где-то еще тратить время заново на поиск решения ну уж нет. Все ведь разобрано и отрепетировано.
- Server 2008 R2 SP1 Enterprise
- RAM = 8Gb
- CPU = 2, Cores = 2
- HDD = 50Gb (System), 100GB — Data (DATA,LOG,BACKUP)
- SQL Server 2014 (12.0.5000.0) установлен с использование двух пакетов:
- SQLServer2014SP1-FullSlipstream-x64-ENU
- SQLServer2014SP2-FullSlipstream-x64-ENU
Запускаем оснастку SQL Server Management Studio (SQL Server 12.0.5000.0):
Start — All Programs — Microsoft SQL Server 2014 — SQL Server 2014 Management Studio, авторизуюсь:
SRV-DATABASE (SQL Server 12.0.5000.0 — SRV-DATABASE\Administrator
Далее настраиваю возможность уведомления на почту по заметке:
Затем составляю план обслуживания
— Management — Maintenance Plans — Maintenance Plan Wizard, Next —
Name: Backup
Run as: SQL Server Agent service account
Single schedule for the entire plan or no schedule
и нажимаю Next, а вот теперь выбираю один или более планов обслуживания, в частности мне нужно:
- Back Up Database (Full)
- Maintenance Cleanup Task
и нажимаю Next, выбираю Back Up Database (Full), Next. Настройки сделанные под участием мастера принимают следующий вид:
вкладка General:
- Database(s): выбираю необходимую базу
- Back up to: Disk
вкладка Destination:
- Create a backup file for every database: отмечаю
- Folder: Указываю путь до каталога с бекапами (в моем случае: d:\backupbd)
- Backup file extension: bak
вкладка Options:
- Set backup compression: Compress backup
Это что касается задачи на создание резервной копии, а вот теперь для задачи чистки посредством задачи: Define Maintenance Cleanup Task
Delete files of the following type: Backup files
File Location:
Search folder and delete files based on an extension:
- Folder → d:\backupbd
- File extension: bak
File age:
- Delete files based on the age of the file at task run time: отмечаю галочкой
- Delete files older than the following: 14 (Day(s)
Нажимаю Next и отчет об операции отсылать на E-mail report: → To → backup, Next, Finish.
Т.е. бекапы будут делаться в каталог на логическом томе D, и если файлы старше 14 дней то они будут удаляться. В таком случае на сервере будет храниться резервная копия в количестве 14 бекапов.
По сути все просто, только нужно в правильном порядке расположить задачи через мастер и наделить с учетом предопределенных свой каждую из них и все будет сделано автоматически.
Взглянув назад на то что я делал раньше в ручную здорово меня научило, что правило: задача, изучение/план для задачи и последующее решение как нельзя лучше подходит под лозунг выхода из ситуации где опыт и наработанные решение здорово облегчают мне жизнь, как системного администратору самоучке.