Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Не пинайте сильно, но вопрос про логи :(  [new]
sqnoob
Member

Откуда:
Сообщений: 3
Доброго времени суток.

Заранее прошу прощения за вопрос из топа, но все что я прочитал по своей проблеме, мне либо не помогает, либо написано не очень понятным для меня языком. (сам только недавно начал тесное общение с SQL)

Суть проблемы:
Имеется база 1С, крутится на SQL 2008 R2

mdf -150 Гб
ldf -250 Гб
Recovery model - simple
Compatibility level - 2005(90) (наскольо я знаю, база была перенесана с 2005го)

Вопрос в том, как избавится от огромных логов?
Шринк не помогает. После него, файл лога восстанавливается до исходного размера за ночь.
Полные бэкапы делаются каждую ночь.
Никак не могу понять почему у simple-базы такой огромный лог :(

Помогите решить проблему, пожалуйста.
18 янв 16, 14:26    [18695731]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
Glory
Member

Откуда:
Сообщений: 104760
sqnoob
После него, файл лога восстанавливается до исходного размера за ночь.

Приращение у файла журнала какое задано ?
Что происходит с базой ночью ?

sqnoob
Никак не могу понять почему у simple-базы такой огромный лог :(

Потому что транзакцию все равно нужно сначала записать в журнал.
И только после окончания транзакции занятое ей место можно использовать под другие транзакции.
18 янв 16, 14:29    [18695756]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
sqnoob
Member

Откуда:
Сообщений: 3
Glory
Приращение у файла журнала какое задано ?

By 10 percent, unrestricted growth

Glory
Что происходит с базой ночью ?

каждую ночь
dbcc freeproccache

через ночь
Reorganize Index Task
Update Statistics Task
18 янв 16, 15:43    [18696413]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
Glory
Member

Откуда:
Сообщений: 104760
sqnoob
By 10 percent, unrestricted growth

И каков начальный размер для этих 10% ?

sqnoob
через ночь
Reorganize Index Task
Update Statistics Task

А вы знаете, что делают эти задачи и сколько данных они пишут в журнал ?
18 янв 16, 15:45    [18696428]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
sqnoob
Member

Откуда:
Сообщений: 3
Glory
И каков начальный размер для этих 10% ?

225 240 :(

Glory
А вы знаете, что делают эти задачи и сколько данных они пишут в журнал ?

Честно говоря нет, все было до меня так настроено.
18 янв 16, 16:11    [18696641]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
Glory
Member

Откуда:
Сообщений: 104760
sqnoob
225 240 :(

Это что начальный размер журнала после сжатия ? Байты ? Биты ?

sqnoob
Честно говоря нет, все было до меня так настроено.

Ну так узнайте.
Если вы реиндексируете/перестраиваете полностью все индексы 150Гб базы, то какой по-вашему объем транзакции получится ?
18 янв 16, 16:14    [18696659]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
aleks2
Guest
sqnoob
Честно говоря нет, все было до меня так настроено.


Дык, mdf -150 Гб при Reorganize Index Task спокойно даст ldf -250 Гб.
Но! это должно быть "через ночь".
18 янв 16, 16:16    [18696675]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
o-o
Guest
aleks2
sqnoob
Честно говоря нет, все было до меня так настроено.


Дык, mdf -150 Гб при Reorganize Index Task спокойно даст ldf -250 Гб.
Но! это должно быть "через ночь".

у него простая модель.
и если словом REORGANIZE здесь называют именно REORGANIZE,
к-ый раньше был DBCC INDEXDEFRAG,
то
BOL
the defragmentation is performed as a series of short transactions,
so a large log is unnecessary if log backups are taken frequently or if the recovery model setting is SIMPLE.

лог сто раз может усечься,
если конечно никто перед этим не открыл транзакцию и не ушел домой,
оставив ее всю ночь висеть
18 янв 16, 17:32    [18697383]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
o-o
Guest
Randal
Actually the log usage for a reorganize could be way more than the size of the index -
depending on how much compaction and reorganizing needs to be done,
but you should be safe using 1x index size in most cases.
Reorganize isn't really an issue though as the log can be cleared while it's going on as it's not done as a single transaction -
it's rebuild that can cause log growth because of the long-running transaction.

Transaction log usage for Rebuild/Reorganize
18 янв 16, 17:37    [18697407]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
Glory
Member

Откуда:
Сообщений: 104760
o-o
и если словом REORGANIZE здесь называют именно REORGANIZE,

Reorganize Index Task
Update Statistics Task
18 янв 16, 17:39    [18697414]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
o-o
Guest
можно:
лог снова шринкануть (сто раз делали, от 101-ого ничего не случится),
на ночь выставить флаги 3004, 3605,
чтоб сервер в еррорлог писал о занулении лога.
так будет отловлено точное время раздувания журнала.
на базу DDL-триггер повесить с записью в таблицу, пусть ловит все.
а еще джоб повесить на каждые 5 минут,
пускай dbcc opentran with tableresults пишет в таблицу + сессии.
вот и увидим на след. день, кто журнал держит
18 янв 16, 18:05    [18697591]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
мигель1
Member

Откуда:
Сообщений: 3216
o-o
можно:
лог снова шринкануть (сто раз делали, от 101-ого ничего не случится),
на ночь выставить флаги 3004, 3605,
чтоб сервер в еррорлог писал о занулении лога.
так будет отловлено точное время раздувания журнала.
на базу DDL-триггер повесить с записью в таблицу, пусть ловит все.
а еще джоб повесить на каждые 5 минут,
пускай dbcc opentran with tableresults пишет в таблицу + сессии.
вот и увидим на след. день, кто журнал держит


А что такое флаги 3004, 3605,?
18 янв 16, 18:22    [18697724]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
komrad
Member

Откуда:
Сообщений: 5249
o-o
на ночь выставить флаги 3004, 3605,
чтоб сервер в еррорлог писал о занулении лога.
так будет отловлено точное время раздувания журнала.

можно без флагов обойтись - в default trace есть события прироста файлов БД:
Data File Auto Grow
Log File Auto Grow

use master;
SELECT	top 100
		te.name, 
		ft.SPID,
		ft.LoginName,
		ft.Hostname,
		ft.ClientProcessID,
		ft.DatabaseName, 
		ft.FileName, 
		ft.StartTime, 
		dateadd(ms,ft.Duration/1000,ft.StartTime) [FinishTime],
		ft.ApplicationName ,
		ft.ObjectID,
		ft.Duration/1000/1000 [Duration (s)],
	ft.TextData,
	ft.RoleName,
	ft.TargetUserName

FROM sys.traces st CROSS Apply
	::fn_trace_gettable('путь_к_дефолтному_трейсу\log.trc', st.max_files) AS ft 
INNER JOIN sys.trace_events AS te ON ft.EventClass = te.trace_event_id 
WHERE 
	te.name LIKE '%Grow%'  
and st.is_default=1 
and st.status=1
ORDER BY ft.StartTime desc;
18 янв 16, 18:38    [18697827]     Ответить | Цитировать Сообщить модератору
 Re: Не пинайте сильно, но вопрос про логи :(  [new]
o-o
Guest
ну вот, еще лучше.
время прироста хоть сейчас посмотреть можно
и сопоставить с расписанием джобов.
но я ставлю на открытую транзакцию.
и т. к. она висит приличное время, отловится
18 янв 16, 18:50    [18697887]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить