Можно ли ограничить размер файла "*.idf" в SQL 2012. Размер файла БД около 100Гб, каждые 2-3 месяца файл лога разрастается до 700-900 Гб.
Уменьшаю пока что в ручную следующим способом:
1)Меняю модель восстановления с полной на простую
2)Сжать файл журнала до нуля
3)Вернуть модель восстановления обратно на полную
Можно ли как то ограничить размер файла до, к примеру 200Гб, при это оставить модель восстановления "полная"?
Евгений, Полный бэкап - лучший вариант.
Почему у вас лог в idf файле? Обычно он в ldf, хоть это и не обязательно.
Вы уверены, что у вас бэкап проходит нормально, без ошибок?
Какими средствами делаете бэкап?
res2001,
Лог в ldf, в посте опечатка.
Бэкап делается средствами SQL, периодически восстанавливаю на другом сервере и все стабильно.
При создании бэкапа есть 3 варианта: полный, разностный и журнала транзакций.
Сейчас сделал бэкап журнала транзакций но размер файла ldf не изменился.
Евгений, Посмотрите лог операций MSSQL, если по какой-то причине обрезание журнала после бэкапа не возможно, то там должна быть какая-то ошибка/предупреждение.
Блокировать очистку журнала может репликация БД - она так же задействует механизм журналов транзакций.
res2001, Реплакаций на уровне MSSQL нету, она происходит на VMware (врятли как то влияет на работу SQL), в логах SQL ошибок нету, есть информация что бекап выполнился.
Правильно ли я выбираю?
Так же хочу заметить следующее, при повторном бэкапе журнала, юэпак выполнился за секунду а размер бэкапа стал 200Кб, так что скорее всего тут проблема в отображении размера файла.
Когда транзакция из журнала прошла бэкап (полный/журнала/инкрементный), она помечается как не активная. В следующем бэкапе эта транзакция участвовать не будет. Т.е. бэкапятся только новые транзакции, которые ранее еще не прошли бэкап. Поэтому размер бэкапа может быть не большим.