При пересчете итогов по регистру бухгалтерии лог-файл занимает все возможное место на жестком диске
Здравствуйте.
MSSQL 2008R2, платформа 8.3.13.1644. На жестком диске доступно ~400 ГБ.
Есть типовая БП 2.0, без серьезных изменений. Размер mdf ~550 ГБ, модель восстановления Простая.
Недавно начались проблемы с формированием отчетов по данным бух.учета, начал разбираться. Обнаружил следующее: по какой то причине в "Операции - Управление итогами" наблюдается следующая картина (скрин 1):
В строке "Регистр бухгалтерии Хозрасчетный" колонка "Рассчитан по" не заполнена. То есть, если я правильно понимаю, итоги по регистру не рассчитаны вообще.
Хорошо, убираю все галки в окне управления итогами, оставляю только галку на строке "Хозрасчетный", указываю дату, на которую нужно рассчитать итоги, нажимаю "выполнить". Лог-файл базы данных начинает стремительно расти, отъедая все возможное свободное место (все 400 ГБ), после чего база переходит в режим восстановления, но выйти из него уже не может, т.к. свободного места на диске уже не осталось. Сжатие лог-файла средствами SQL в этот момент ничего не дает.
Кто нибудь сталкивался с подобным? Почему лог-файл так сильно разрастается? И как в такой ситуации пересчитать итоги?
MSSQL 2008R2, платформа 8.3.13.1644. На жестком диске доступно ~400 ГБ.
Есть типовая БП 2.0, без серьезных изменений. Размер mdf ~550 ГБ, модель восстановления Простая.
Недавно начались проблемы с формированием отчетов по данным бух.учета, начал разбираться. Обнаружил следующее: по какой то причине в "Операции - Управление итогами" наблюдается следующая картина (скрин 1):
В строке "Регистр бухгалтерии Хозрасчетный" колонка "Рассчитан по" не заполнена. То есть, если я правильно понимаю, итоги по регистру не рассчитаны вообще.
Хорошо, убираю все галки в окне управления итогами, оставляю только галку на строке "Хозрасчетный", указываю дату, на которую нужно рассчитать итоги, нажимаю "выполнить". Лог-файл базы данных начинает стремительно расти, отъедая все возможное свободное место (все 400 ГБ), после чего база переходит в режим восстановления, но выйти из него уже не может, т.к. свободного места на диске уже не осталось. Сжатие лог-файла средствами SQL в этот момент ничего не дает.
Кто нибудь сталкивался с подобным? Почему лог-файл так сильно разрастается? И как в такой ситуации пересчитать итоги?
Прикрепленные файлы:
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не верю.
Из вашего сообщения понятно, что вы ничего не знаете о бэкапах.
Модель восстановления должна быть Полная.
Нужно делать бэкапы базы и лога.
Если делать бэкапы лога, тогда завершенные транзакции попадут в файл бэкапа лога. А активные транзакции останутся в логе.
Из вашего сообщения понятно, что вы ничего не знаете о бэкапах.
модель восстановления Простая.
Модель восстановления должна быть Полная.
Нужно делать бэкапы базы и лога.
Если делать бэкапы лога, тогда завершенные транзакции попадут в файл бэкапа лога. А активные транзакции останутся в логе.
Предположим, что у вас Размер mdf ~550 ГБ и нужно расчитать итоги.
С какой даты ведется учет в программе? 2010 год например.
Так установите дату расчета итогов 2011 год январь и расчитайте итоги. (если места не хватает на диске, делаем бэкап лога)
Далее, сдвигаем границу итогов на январь 2012 г. и снова расчитываем. (если места не хватает на диске, делаем бэкап лога)
И т.д.
Делать DBCC SHRINKDATABASE - не лучшая идея. Если делать правильно бэкапы, он не нужен.
С какой даты ведется учет в программе? 2010 год например.
Так установите дату расчета итогов 2011 год январь и расчитайте итоги. (если места не хватает на диске, делаем бэкап лога)
Далее, сдвигаем границу итогов на январь 2012 г. и снова расчитываем. (если места не хватает на диске, делаем бэкап лога)
И т.д.
Делать DBCC SHRINKDATABASE - не лучшая идея. Если делать правильно бэкапы, он не нужен.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот