powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / БД SQL Простая модель - почему растет размер журнала транзакций?
15 сообщений из 15, страница 1 из 1
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888639
soulriwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Огромная просьба к знатокам SQL помочь разобраться в вопросе.

Есть БД SQL 1C размером 30 ГБ. В базе регулярно проводятся доработки. Простая модель восстановления.

В определенный момент размер лога вырос до 60 ГБ. Перед этим, после очередного обновления, была проблема с долгим проведением некоторых документов в 1С, возникали конфликты блокировок. Проблему решил средствами 1С вручную запустив регламентное задание пересчета итогов регистров накопления.

Пытаюсь уменьшить размер лога:

1) backup/restore - не помогло

2) на копии БД сделал SHRINK фала журнала средствами Manadgement Studio - лог уменьшился с 60 ГБ до 1040 КБ! И на первый взгляд с базой все ОК.

В связи с этим два вопроса:

1) Можно ли делать SHRINK в моем случае (простая модель) и чревато ли это неблагоприятными последствиями (многие источники не рекомендуют)?

2) Почему лог не сжимается автоматически? Как я понял, для простой модели лог должен урезаться автоматически при достижении контрольной точки. Бэкапы делаются каждую ночь.

Проверил, в свойствах сервера значение Интервал восстановления = 0 (минут).
В свойствах базы параметр Начальный размер=4 МБ, а Автоувеличение/макс. размер стоит 10% и 2097152 МБ соответственно. Получается лог автоматом должен урезаться до размера верхней границы, которая у меня 2097152 МБ и еще не достигнута?
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888640
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Сначала делать шринк, потом заставлять сервер расширять лог, чтобы это работало подольше. Мсье понимает толк в феншуях, а сервер железный, все стерпит.
2. Не должен.
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888644
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888676
soulriwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость

Код: sql
1.
SELECT name, log_reuse_wait_desc FROM sys.databases;


Код: sql
1.
NOTHING



Для тестовой базы, для которой уже сделал SHRINK значение log_reuse_wait_desc=CHECKPOINT
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888678
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
о да привет, ушло уже то, что было, а то лог бы вам уже весь диск засрал.
и была это открытая транзакция.
ваши эти "супер-проводки" открыли и не закрыли.
и все время, пока транзакция висела, лог не мог усекаться.
транзакцию срубили -- вот вам и NOTHING
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888687
soulriwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123, Так и какой вывод? Все таки должен лог сам усекаться (надо тупо подождать) или нет?
И чего ждать? Бэкапы то каждый день делаются и уже неделя прошла с "того, что было" :-)
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888690
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
soulriwer,

лог не усекается (shrink) сам, автоматически освобождается место внутри файла(ов) лога.
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888692
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
soulriwer
Все таки должен лог сам усекаться (надо тупо подождать) или нет?

вы неправильно понимаете "лог должен усекаться".
это не есть "уменьшаться в размерах",
так что не ждите у моря погоды.
усекаться он у вас давно начал, с того момента, как транзакция отвалилась.
усекаться = перезаписываться.
если сейчас опросите размер свободного места в логе,
поймете, что он весь пустой.
потому что уже "усекся"
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888709
soulriwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123, Спасибо большое за ответ! Действительно, запутался в понятиях shrink/truncate.
Как я понял, единственный способ уменьшить размер журнала в моей ситуации это именно сделать SHRINK вручную? Сам сервер уже никогда его не ужмет?)
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888714
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
soulriwer
Yasha123, Спасибо большое за ответ! Действительно, запутался в понятиях shrink/truncate.
Как я понял, единственный способ уменьшить размер журнала в моей ситуации это именно сделать SHRINK вручную? Сам сервер уже никогда его не ужмет?)

да.
только сильне не ужимайте, оставьте ему 2Гб хотя бы.
и как только видите, что лог начал расширяться, проверяйте открытые транзакции.
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888717
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вот по этому поводу:
soulriwer
Бэкапы то каждый день делаются и уже неделя прошла с "того, что было" :-)

бэкапам до лога нет никакого дела, как и логу до бэкапов.
в простой модели нет бэкапов лога , которые бы его усекали.
лог самоусекается
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888719
soulriwer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123
и как только видите, что лог начал расширяться, проверяйте открытые транзакции.

А если в свойствах базы просто уменьшить верхний предел размера лога (параметр Максимальный размер )?
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888722
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда сервер автоматически откатит то, что попытается переполнить лог
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888726
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
soulriwer,

Так и поступают - размер журнала устанавливатся фиксированным исходя из рабочей нагрузки. Но в случае непредвиденной ситуации может произойти авария. Например, не учли объем, требуемый для переиндексации.

Можно сделать так - сначала максимально уменьшить размер журнала, затем выставить по размеру нагрузки на 60Гб и указать размер приращения журнала 2-5% от установленного максимального размера, т.е. 2-3 Гб. В этом случае VLF распределятся равномерно и не слишком большим количеством, влияющим на производительность.
...
Рейтинг: 0 / 0
БД SQL Простая модель - почему растет размер журнала транзакций?
    #39888747
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
soulriwer,

Лог используется на ПРОСТОЙ модели для транзакций. У вас были запущены одна или более крупных транзакций, который судя по всему, перелопатили большую часть БД или сделали много изменений. После коммита транзакции место в логе более не используется и может быть реюзано.

Поэтому лог растет.

Если эти транзакции регулярны, то нет смысла шринкать лог.

Лог сам сокращаться не будет.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / БД SQL Простая модель - почему растет размер журнала транзакций?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]