Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос про shrink / 12 сообщений из 12, страница 1 из 1
10.01.2020, 14:02
    #39912400
Bmv08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Добрый день, уважаемый форум.

Версия SQL 2012 Express.
База в simple mode
autoshrink = off
Репликаций нет

Лог - разрастается со временем. Операции, увеличивающие лог - раз в 2-3 месяца.
Есть желание "убрать" лишнее.

Прочитала документацию и форум, но остался вопрос:
Насколько правильно и безопасно делать shrink лога, если
не делать бекап БД?

https://docs.microsoft.com/ru-ru/sql/t-sql/database-console-commands/dbcc-shrinkfile-transact-sql?view=sql-server-ver15
"но удаляет неактивные VLF в конце файла журнала" - насколько я поняла - ничего не сломается от shrinka.
...
Рейтинг: 0 / 0
10.01.2020, 14:22
    #39912413
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Насколько правильно и безопасно делать shrink лога, если
не делать бекап БД?Если не делать бекап, то любое действие небезопасно.
...
Рейтинг: 0 / 0
10.01.2020, 14:26
    #39912414
entrypoint
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Bmv08,

авторничего не сломается от shrinka.

Но,
авторРазмер базы данных нельзя сделать меньше минимального размера базы данных. Минимальный размер — это первоначальный размер, заданный при создании базы данных, или последний размер, явно установленный операцией изменения размера файла (например, DBCC SHRINKFILE). Если, допустим, база данных была создана с размером 10 МБ и затем увеличилась до 100 МБ, ее можно сжать только до 10 МБ, даже если удалить из нее все данные.
https://docs.microsoft.com/ru-ru/sql/relational-databases/databases/shrink-a-database?view=sql-server-ver15


Может использовать усечение журнала транзакций
авторНеобходимо регулярно усекать журнал транзакций, чтобы предотвратить переполнение выделенного пространства
https://docs.microsoft.com/ru-ru/sql/relational-databases/logs/the-transaction-log-sql-server?view=sql-server-ver15

Условия для его выполнения описаны в статье по ссылке
...
Рейтинг: 0 / 0
10.01.2020, 14:35
    #39912418
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
entrypoint,

Какой еще такой бэкап лога для базы в simple-модели для усечения лога? Не несите чушь. В простой модели лог усекается автоматически.

Bmv08,

Зачем сжимать лог, если раз в 2-3 месяца он все равно будет вырастать? Это чтобы сервер сначала развлечь сжатием лога, а потом его авторасширением?
...
Рейтинг: 0 / 0
10.01.2020, 14:38
    #39912419
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Bmv08,

Если Вас беспокоит разрастание лога, то производите операции изменения данных небольшими частями растянутыми по времени, в том числе и переиндексацию.
...
Рейтинг: 0 / 0
10.01.2020, 14:48
    #39912428
entrypoint
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Гавриленко Сергей Алексеевич,

Согласен ))))
Был невнимателен )))

Но можно же изменить модель восстановления ?
...
Рейтинг: 0 / 0
10.01.2020, 14:50
    #39912429
Bmv08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Гавриленко Сергей Алексеевич

Bmv08,
Зачем сжимать лог, если раз в 2-3 месяца он все равно будет вырастать?


2-3 месяца - это "плохой" прогноз = полная перезагрузка справочных данных раз в указанный период.
Хороший - до года - полутора нет прогрузок.

Гавриленко Сергей Алексеевич

Bmv08,
Это чтобы сервер сначала развлечь сжатием лога, а потом его авторасширением?


Насколько я понимаю - при удалении "неактивные VLF в конце файла журнала" - высвобожденное место будет использоваться повторно. Сейчас размер БД = 10, лога - доходит до 40.
Хотела оставить около 5 на лог.

Владислав Колосов
Bmv08,

Если Вас беспокоит разрастание лога, то производите операции изменения данных небольшими частями растянутыми по времени, в том числе и переиндексацию.


К сожалению, на объем\частоту входящего потока повлиять не могу.
...
Рейтинг: 0 / 0
10.01.2020, 14:59
    #39912443
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Bmv08,

Bmv08Насколько я понимаю - при удалении "неактивные VLF в конце файла журнала" - высвобожденное место будет использоваться повторно. Сейчас размер БД = 10, лога - доходит до 40.
Хотела оставить около 5 на лог.Вам реально жалко 35 Гб? Хотите, что бы каждый раз при заливке данных раз в N месцев у вас замедлялась вставка или модификация из-за тяжелой операции автоприращения лога?

Вы не с тем боретесь. Лог растет у вас не потому, что в нем нет свободного места из-за предыдущих транзакций, а потому что в него не помещается вся ваши текущие транзакции целиком. Сделайте уменьшение до 5 Гб, и в следующий раз он все равно станет 40 Гб.
...
Рейтинг: 0 / 0
10.01.2020, 15:16
    #39912466
Bmv08
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Гавриленко Сергей Алексеевич
Bmv08,

Bmv08Насколько я понимаю - при удалении "неактивные VLF в конце файла журнала" - высвобожденное место будет использоваться повторно. Сейчас размер БД = 10, лога - доходит до 40.
Хотела оставить около 5 на лог.
Вам реально жалко 35 Гб?

Да, маленький носитель. upgrade не возможен - технически и экономически не обоснован.
Приложение и БД - пишущая машинка. Должно быстро воспользоваться правильными справочными данными,
"выкинуть" транзакцию во внешнюю систему.

Гавриленко Сергей Алексеевич
Bmv08,

Bmv08Насколько я понимаю - при удалении "неактивные VLF в конце файла журнала" - высвобожденное место будет использоваться повторно. Сейчас размер БД = 10, лога - доходит до 40.
Хотела оставить около 5 на лог.
Хотите, что бы каждый раз при заливке данных раз в N месцев у вас замедлялась вставка или модификация из-за тяжелой операции автоприращения лога?

Да. Операция обновления идет ночью, когда приложение не эксплуатируется.
40 - это форс мажор- полная перезагрузка данными. и - лог потом не нужен - если я правильно понимаю.
...
Рейтинг: 0 / 0
10.01.2020, 15:19
    #39912470
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Bmv08

40 - это форс мажор- полная перезагрузка данными. и - лог потом не нужен.



Если такие форс мажоры случаются раз в N месяцев, вам все равно нужно иметь на дисках запас в эти 40 ГБ.
Так какая вам разница, будет это место не занято или занят файлом лога?
...
Рейтинг: 0 / 0
10.01.2020, 15:22
    #39912472
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Bmv08,
ну хотите, шринкайте.
я шринкаю.
т.к. начальничег систематически делитит миллионы записей одним стэйтментом (по ночам)
и лог раздувает охренительно.
а поптом он хочет рестор бэкапа за предыдущие дни, и этих "копия базы на дату <..>" у нас до пяти штук за раз висит.
и "самый свежий" бэкап уже просто не ресторится,
т.к. в нем раздутый лог и ему надо место...

так что шринкаю до вменяемого размера, как только вижу, что расперло.
делается моментально.

а вот кто в след. раз ждет, пока лог увеличится,
так это как раз сам начальник,
когда в очередном приступе вдохновения апдэйтит миллионы строк за раз.
a ему и полезно подождать, чтобы осознал, что не тем занимается
...
Рейтинг: 0 / 0
10.01.2020, 16:30
    #39912520
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос про shrink
Bmv08,

Вам никак шринк не поможет, т.к. в одну и прекрасных ночей обвалится база в состояние "подозреваемая" из-за нехватки места на диске. Обязательно установите ограничение на рост файлов, при переполнении база хотя бы не сломается.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос про shrink / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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