Как определить время последнего дампирования лога? (+)

MkSim
Дата: 10.10.2003 10:47:08
Может кто подскажет, как определить в какое время был сделан последний раз дам журнала транзакций.
Фишка в том, что если с последнего дампа прошло более получаса, то процедура должна автоматом сделать новый дамп. Хочется обыграть данное условие покрасивее. Можно конечно же зашить в тело константы времени с дельтой в полчаса и потом сравнивать с ними текущее время, но в этой идее нет изящества :)
Glory
Дата: 10.10.2003 10:56:09
exec msdb..sp_helphistory


select c.database_name, c.type, c.backup_start_date, c.backup_finish_date

from msdb..backupset c
where c.backup_set_id = (select top 1 d.backup_set_id from msdb..backupset d where d.database_name=c.database_name order by d.backup_start_date desc)
order by c.database_name, c.backup_start_date, c.backup_finish_date


Ну а насчет делать каждые полчаса бэкап журнала, так для этого есть SQLAgent со своими Job-ми
MkSim
Дата: 10.10.2003 12:35:35
Раньше мы так и делали. Каждые полчаса в рабочее время проходило бекапирование журналов, потом их сжатие rar-ом и перекидка на резервный сервер. Но в последнее время стало проходить слишком много транзакций в течении получаса, поэтому мы делаем обязательное бэкапирование каждые пол часа, и промежуточные бекапы, если размер transaction log вырос на 15%. Узнать время последнего бэкапа нужно для того, чтобы не частить с бэкапами, но и делать их достаточно регулярно, на случай поднятия базы на заданное время.
За ответ спасибо.