Контроль за удалением старых бекапов

Posted by

Намедни мне надоело что я вручную слежу за количеством бекапов на серверах базы данных, хоть и работает там задание по ежедневному переносу файлов резервных копий на общее хранилище бекапов, но ведь место же заканчивается и приходится в ручную отбирать наиболее старые файлы и удалять. Вообще это как-то не профессионально, пускай уж встроенный софт SQL Server 2014 SP2 поработает на меня и в этом плане. Как показала справка F1 это возможно, а потому я решил для себя подготовить небольшую заметку чтобы не забыть как это делается, хотя какой уж там забыть, все делается уже на автомате, но это ведь на этой работе, а когда я буду где-то еще тратить время заново на поиск решения ну уж нет. Все ведь разобрано и отрепетировано.

  • 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, а вот теперь выбираю один или более планов обслуживания, в частности мне нужно:

и нажимаю 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:

  • Folderd:\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 бекапов.

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

Взглянув назад на то что я делал раньше в ручную здорово меня научило, что правило: задача, изучение/план для задачи и последующее решение как нельзя лучше подходит под лозунг выхода из ситуации где опыт и наработанные решение здорово облегчают мне жизнь, как системного администратору самоучке. На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.