powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как автоматизировать уменьшение transaction log файлов?
23 сообщений из 23, страница 1 из 1
Как автоматизировать уменьшение transaction log файлов?
    #39728946
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не так давно столкнулся с проблемой колоссального роста database transaction log ldf - файлов в папке с базами. Решаю проблему так.
БД (правый клик - Properties - Tasks - Shrink - File. Там выбираю LOG и в Reorganase page ставлю 0. Всё в порядке. Логи транзакций урезаются до 0. НО! Всё делаю вручную. Есть ли какой-то простой способ задать делать это автоматически, скажем раз в неделю путем какой-нибудь T-SQL задачи?
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39728947
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000,

Начните бэкапы делать раз в неделю для начала. Остальные проблемы будет решатся уже сами собой.
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39728949
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стыдно признаться, план обслуживание действительно не режет логи по-чемуто. За сим расчехляю скриптик.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SET NOCOUNT ON

DECLARE @cmd VARCHAR(150) -- command

DECLARE db_cursor CURSOR FOR 
SELECT 'USE [' + d.name + N']' + ' ' + 'DBCC SHRINKFILE (N''' + mf.name + N''' , 0, TRUNCATEONLY)' cmd
  FROM sys.master_files mf 
  JOIN sys.databases d ON mf.database_id = d.database_id 
 WHERE d.database_id > 4 and mf.type_desc = 'LOG'

OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @cmd   

WHILE @@FETCH_STATUS = 0   
BEGIN   
       PRINT @cmd
	   EXEC(@cmd)
       FETCH NEXT FROM db_cursor INTO @cmd
END   

CLOSE db_cursor   
DEALLOCATE db_cursor

...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39728953
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsik,

Это всё есть и работает. Но логи он сжимать не хочет...
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39728956
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Relic Hunter,
Огромное спасибо! Завтра вкорячу, проверю.
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39728958
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000Lepsik,

Это всё есть и работает. Но логи он сжимать не хочет...

Еще не известно что за база у человека. может MSSQL 6.5
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39728960
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsik, Да не, 2014 ))
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39728980
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000Relic Hunter,
Огромное спасибо! Завтра вкорячу, проверю.

Стисняюсь спросить: смысл сего действа?

Т.е. сервер будет расширять журналы, тредстартер уперто шринкать.
Все при деле, все при работе.
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729041
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222, А вы сами то не догадываетесь? Ну ок, поясню. Планы обслуживания настроены правильно, с очистками логов, вот только файлы транзакций с расширением *ldf находящиеся в одной папке с БД, упорно резаться не хотят. Почему скуль этого сам не делает, я не имею понятия. В итоге, день ото дня, эти файлы растут, как тесто на дрожжах, а место на ssd не резиновое. Приходится прибегать, как вы выразились, к "тредстартеру".
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729054
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Lepsik, Скрипт рабочий! Еще раз большущее спасибо. Проблема решена. Кстати в качестве совета, подскажите плз, как лучше задать периодичность урезания этих ldf-ок? На что это вообще влияет? Я выставил раз в сутки. Логика такая, что журнал транзакций в плане пишется раз в 1 час. с 9:00 до 19:00. А после бухглатерам эти транзакции не нужны. Логично ведь, что стоит очистка tr логов. Ну вот и также поставил ваш скриптик на очистку раз в сутки. Это нормально?
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729055
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000aleks222, А вы сами то не догадываетесь? Ну ок, поясню. Планы обслуживания настроены правильно, с очистками логов, вот только файлы транзакций с расширением *ldf находящиеся в одной папке с БД, упорно резаться не хотят. Почему скуль этого сам не делает, я не имею понятия. В итоге, день ото дня, эти файлы растут, как тесто на дрожжах, а место на ssd не резиновое. Приходится прибегать, как вы выразились, к "тредстартеру".Скуль это не делает, потому что это замедляет работу сервера, и есть занятие абсолютно бессмысленное.

Файлы базы - это как логический том на диске.

Вы же не сжимаете и потом расширяете каждый день логические тома в ваших виндах? Почему то винды это автоматически делать не умеют, опять билли накосячил :-)
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729057
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000aleks222, А вы сами то не догадываетесь? Ну ок, поясню. Планы обслуживания настроены правильно, с очистками логов, вот только файлы транзакций с расширением *ldf находящиеся в одной папке с БД, упорно резаться не хотят. Почему скуль этого сам не делает, я не имею понятия. В итоге, день ото дня, эти файлы растут, как тесто на дрожжах, а место на ssd не резиновое. Приходится прибегать, как вы выразились, к "тредстартеру".
Вы сами не догадываетесь, что вам пишут? Обрезание лога бесполезная операция и бывает у нормальных людей только редким исключением.
+ Приращение лога, это зануление всего куска диска, что и так затратная операция для системы и в добавок будет развлекать ваш ssd.
+ Лог работает "по кругу" в файле.
И как этих людей пукскают что-то администрировать...
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729069
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, Не надо умничать и дерзить! Терпеть этого не могу. Допускают так как платить другим за это нормально не хотят. Ибо администрирование SQL денег стоит. А руководство экономит во всем. А профиль этот не мой, я и не отрицаю. Я сетевик и микроэлетронщик. Скуль не моя специфика, но пришлось и в этом разбираться. Ибо банально не кому у нас. И здесь я спрашиваю совета. Вот вы раз такой профи, так вместо того, чтобы гнобить, посоветуйте, как правильно сделать и настроить по вашему опыту. А если не хотите, так и не надо умничать.
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729075
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000TaPaK, Не надо умничать и дерзить! Терпеть этого не могу. Допускают так как платить другим за это нормально не хотят. Ибо администрирование SQL денег стоит. А руководство экономит во всем. А профиль этот не мой, я и не отрицаю. Я сетевик и микроэлетронщик. Скуль не моя специфика, но пришлось и в этом разбираться. Ибо банально не кому у нас. И здесь я спрашиваю совета. Вот вы раз такой профи, так вместо того, чтобы гнобить, посоветуйте, как правильно сделать и настроить по вашему опыту. А если не хотите, так и не надо умничать.
Уже написали несоколько раз: шринковать лог не надо. Как ещё написать? Допускается только если "не штатно" взлетел размер (у меня было когда, например, провтыкали отвал бекапа лога) в иных случаех пользы нет, тем более вы сами пишете что он постоянно взлетает, и это он делает не от вредности. Бекапте лог чаще, разбирайтесь с длинными транзакциями ищите что его увеличивает, но резать - бесполезно
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729089
Фотография Maxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС - може просто модель востановления симпл влепите ?
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729092
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Maxx, Да, я уже думал в этом направлении. И рекомендации мелкомягких изучал. Это конечно решит мою проблему, но есть опасения определенные по восстановлению баз в случае чего. Симпл метод, это в принципе может быть чревато. Базы бухгалтерские. Базы большие. Ни дай бог...
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729095
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000,

авторБазы бухгалтерские.
1С?
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729103
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK, Да
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729104
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaKYurgen3000TaPaK, Не надо умничать и дерзить! Терпеть этого не могу. Допускают так как платить другим за это нормально не хотят. Ибо администрирование SQL денег стоит. А руководство экономит во всем. А профиль этот не мой, я и не отрицаю. Я сетевик и микроэлетронщик. Скуль не моя специфика, но пришлось и в этом разбираться. Ибо банально не кому у нас. И здесь я спрашиваю совета. Вот вы раз такой профи, так вместо того, чтобы гнобить, посоветуйте, как правильно сделать и настроить по вашему опыту. А если не хотите, так и не надо умничать.
Уже написали несоколько раз: шринковать лог не надо. Как ещё написать? Допускается только если "не штатно" взлетел размер (у меня было когда, например, провтыкали отвал бекапа лога) в иных случаех пользы нет, тем более вы сами пишете что он постоянно взлетает, и это он делает не от вредности. Бекапте лог чаще, разбирайтесь с длинными транзакциями ищите что его увеличивает, но резать - бесполезноВот именно.

Шринк лога - это как манипуляции с разделами дисков.

Это не штатная операция процесса эксплуатации системы, а некие нештатные, или даже аварийные действия админов.

В нормально настроенной системе лог-файлы постоянны и не меняются.

Yurgen3000, вам нужно посмотреть, в какой момент происходит расширение логов, возможно, в момент выполнения обслуживания базы. Может, нужно в это время добавить дополнительный бакап лога, что бы сбросить этот дополнительный кусок, появившийся из за обслуживания.
Или, может, на самом деле у вас не делается бакап лога - вы не путаете бакап лога и бакап базы?
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729105
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000TaPaK, Да
этих не спасти.
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729225
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000,

журналы растут потому, что должны расти, но вы можете контролировать их повторное использование.
Если станете создавать резервные копии, то есть переносить протокол операций в другие файлы, то сервер сможет переиспользовать место в файле журнала, поскольку вы гарантируете резервным копирванием, что информация, нужная для восстановления не будет потеряна.
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729593
Yurgen3000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владислав Колосов, alexeyvg,

Спасибо за ликбез и пояснения! Всё принято к сведению. Буду анализировать.
...
Рейтинг: 0 / 0
Как автоматизировать уменьшение transaction log файлов?
    #39729622
L_argo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yurgen3000Maxx, Да, я уже думал в этом направлении. И рекомендации мелкомягких изучал. Это конечно решит мою проблему, но есть опасения определенные по восстановлению баз в случае чего. Симпл метод, это в принципе может быть чревато. Базы бухгалтерские. Базы большие. Ни дай бог...Сделайте: Модель Фулл. Полные бекапы(1 раз в сутки) + почасовые бекапы логов(хранить 2-3дня и удалять стандартной регл. процедурой в агенте).

В случае аварии можно вернуться к нормальным данным с потерей в среднем 30минут работы. А также поднять базу на любое конкретное время (н-р для разбора полетов или восстановления убитого юзерами справочника) за последние 2-3дня.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как автоматизировать уменьшение transaction log файлов?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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