Сильно растущий журнал транзакции SQL 2008

1. Гость 21.12.11 06:58
Здравствуйте!
Подскажите пожалуйста, перенесли базу на SQL2008, модель восстановления FULL, настроены следующие планы обслуживания. Полный бэкап 1 раз в день ночью и каждый день каждый час бэкап журнала транзакции. Так же настроены в порядке выполнения следующие планы обслуживания
1) Update Statistic Task
2) Reorganize Task Index
3) Shrink Database Task
Все это выполняется ежедневно плюс 1 раз в неделю
Rebuild Index Task

При всем это неумолимо растет журнал транзакции, уже превышает 100 Гб, подскажите способ его уменьшить
Найденные решения
2. 1Cergey 16 21.12.11 07:19 Сейчас в теме
я так понимаю что бэкап журнала транзакций надо делать с ключом трункейт . А вообще не мучайся поставь в режим симпл и делай полный бэкап базы .
9. Alex_mel 10.01.12 03:07 Сейчас в теме
Пару лет назад бился с очень похожей фигней, порвано было много бубнов - результатов ноль. Вылечилось весьма неожиданно - делаешь Deatach бызы, руками убиваешь лог файл, потом Atach базу, а вот потом настройки авторасширения... Я понимаю, что звучит весьма бредово, но что делать.. А что и как делает Shrink, это вообще интересная тема.
11. jamirza 16.03.17 12:21 Сейчас в теме
Журнал очень сильно растет во время реорганизации индекса. Перед выполнением плана обслуживания можно переводить на простую модель восстановления (ALT ER DATABASE base SET RECOVERY SIMPLE WITH NO_WAIT), после (но до резервного копирования) обратно на полную. Естественно в течении дня бэкапы журнала делаются. За предыдущие дни бэкапы журнала удаляются. При таком варианте и журнал не растет, и есть возможность восстановить базу на любой момент времени после после последнего полного бэкапа.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. alexk-is 6536 21.12.11 07:21 Сейчас в теме
(1) Сделай Shrink вручную.
4. Serg0FFan 21.12.11 10:50 Сейчас в теме
(1) Гость, делать шринк крайне не рекомендуется, влияет на скорость работы с базой.
я бы на вашем месте сделал так:
1) сделал бекап лога транзакций;
2) тут же сделал шринк (да, пусть снизится быстродействие но зато размер уменьшится);
3) полез бы в свойства базы и на закладке Файлы изменил бы параметр Авторасширение от тех что проставлены по умолчанию. Данные увеличение размера в мегабайтах: 200 (рост не ограничен), журнал так же увеличение в мегабайтах: 100 (рост ОГРАНИЧЕН). Чтобы SQL не слишком часто увеличивал файлы выделяя свободное место, тем самым снижая быстродействие, особенно заметно на медленных дисковых подсистемах;
4) ну и теперь поправить план копирования, в части копирования лога транзакций, сделайте копирование раз в 30 минут, и смотрите будет ли он так же катастрофически увеличиваться или нет. Если рост "застынет", значит все ок, если будет расти, пусть не так быстро, то уменьшайте интервал копирования лога транзакций, до тех пор пока рост прекратится.
Удачи. И не надо делать SHRINK после каждого копирования. Это крайняя мера! А ограничение роста достигается своевременным "сбросом" лога в бекап, после чего система использует освобожденное в логе место и тем самым рост файла с логом прекращается. Надеюсь мысль мою поняли :)
5. Serg0FFan 21.12.11 10:54 Сейчас в теме
(1) Гость, недавно настраивал планы в одной из контор, там была ситуация схожая с вашей,
так вот после описанных выше телодвижений, рост лога замер, теперь суммарный размер 3х баз (данные + лог) не превышает 20 гигов и цифра эта держится 3ю неделю.
2. 1Cergey 16 21.12.11 07:19 Сейчас в теме
я так понимаю что бэкап журнала транзакций надо делать с ключом трункейт . А вообще не мучайся поставь в режим симпл и делай полный бэкап базы .
6. wowkai 4 21.12.11 11:25 Сейчас в теме
Serg0FFan пишет:
ы в св


вопрос на счет шринка. после "тестирования и исправления" лог базы растет до 30-50ГБ. после фул бекапа 99% места в логе свободное. в таком случае шринк нужен?
7. Serg0FFan 21.12.11 11:51 Сейчас в теме
(6) wowkai, ну если у вас места мало на диске то можете сделать, да по идее можно сделать, быстродействие конечно после этого будет не максимальное, но постепенно все выровняется. Смысл в том чтобы подобрать время между копиями лога таким образом чтобы лог не рос! Но бывают конечно случаи, когда роста не избежать, например при обновлении или переиндексации/проверки базы средствами 1С. Тут уж каждый сам для себя решает что делать. Я все таки делаю шринк и после него лог сам разрастается постепенно до нужных ему для комфортной работы размеров. Т.е. операции обновления и переиндексации/проверки базы не такие частоы, то и проблема не часто возникает. Можно делать эти вещи в выходные например.
Andrey2682; +1 Ответить
8. Гость 23.12.11 23:25
К сожалению не помогло, DBCC Opentran показал висячею транзакцию, из за чего и не происходит шринк, надо разобраться сначала с ней
9. Alex_mel 10.01.12 03:07 Сейчас в теме
Пару лет назад бился с очень похожей фигней, порвано было много бубнов - результатов ноль. Вылечилось весьма неожиданно - делаешь Deatach бызы, руками убиваешь лог файл, потом Atach базу, а вот потом настройки авторасширения... Я понимаю, что звучит весьма бредово, но что делать.. А что и как делает Shrink, это вообще интересная тема.
10. dima_home 242 26.04.16 06:46 Сейчас в теме
(9) Alex_mel,
Это батенька вы про MSSQL 7.0
в SQL 2000 и выше нельзя просто так удалять лог.
11. jamirza 16.03.17 12:21 Сейчас в теме
Журнал очень сильно растет во время реорганизации индекса. Перед выполнением плана обслуживания можно переводить на простую модель восстановления (ALT ER DATABASE base SET RECOVERY SIMPLE WITH NO_WAIT), после (но до резервного копирования) обратно на полную. Естественно в течении дня бэкапы журнала делаются. За предыдущие дни бэкапы журнала удаляются. При таком варианте и журнал не растет, и есть возможность восстановить базу на любой момент времени после после последнего полного бэкапа.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот