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

Откуда:
Сообщений: 40
День добрый!

Имеется sql сервер:
Microsoft SQL Server 2014 - 12.0.2000.8 (X64)
Feb 20 2014 20:04:26
Copyright (c) Microsoft Corporation
Developer Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Одна из БД зеркалируется на другой сервер. Модель восстановления FULL.
Размер файла журнала транзакций достиг 57 Гб и продолжает расти.
Насколько я понял, уменьшить его размер можно с помощью шринка или бэкапа лога. Однако использование этих способов не повлияло на изменение размера файла.

Подскажите, пожалуйста, как уменьшить размер файла журнала транзакций.
18 май 16, 14:02    [19188601]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SELECT log_reuse_wait_desc
FROM sys.databases
WHERE database_id = DB_ID()

что вернуло?
18 май 16, 14:07    [19188644]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
PS. Выполнить для проблемной БД
18 май 16, 14:07    [19188648]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
semI-PACK
Member

Откуда:
Сообщений: 40
AlanDenton,

LOG_BACKUP
18 май 16, 14:08    [19188653]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
semI-PACK,

еще раз сделайте бэкап лога
18 май 16, 14:36    [19188855]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
KoDT
Member

Откуда:
Сообщений: 34
semI-PACK
Насколько я понял, уменьшить его размер можно с помощью шринка или бэкапа лога.


Можно, но не нужно!
Раз журнал транзакций продолжает расти, значит бэкап лога не происходит.

Это может быть связано с рядом проблем, в момент роста журнала транзакции посмотрите какие именно сессии заняли больше всего страниц лога. Скорее всего это будут какие-то "ожидания". Играться с размером файлов (и уж тем более со шринком файлов) не стоит! Разбирайтесь с причиной, а не со следствием.
18 май 16, 14:39    [19188886]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
semI-PACK
Member

Откуда:
Сообщений: 40
AnyKey45,

Бред, но повторный бэкап лога и последующий шринк помогли...
18 май 16, 14:45    [19188956]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest
KoDT
Это может быть связано с рядом проблем, в момент роста журнала транзакции посмотрите какие именно сессии заняли больше всего страниц лога. Скорее всего это будут какие-то "ожидания"

поясните, плиз, свои слова.
какие это ожидания влияют на размер того, что уйдет в лог.
а заодно расскажите, какая же разница, какая именно сессия генерит много лога.
у ТС мирроринг и полная модель.
все операции полностью логируются,
и теперь что?
давайте, чтобы ничего не логировать, ничего не делать?
18 май 16, 15:04    [19189084]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
semI-PACK
Бред, но повторный бэкап лога и последующий шринк помогли...

Тут все расписано что и когда делать в случае если лог растет:
http://dba.stackexchange.com/questions/29829/why-does-the-transaction-log-keep-growing-or-run-out-of-space

В Вашем случае бекап лога как раз и требовался.
18 май 16, 15:11    [19189122]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
KoDT
Member

Откуда:
Сообщений: 34
o-o,

Давайте с простого начнем. А вы представляет себе что такое журнал транзакций (без претензий)?
И понимаете в какой момент он чистится и для чего нужен?

В зависимости от ответа поясню либо более детально либо более поверхностно.
18 май 16, 15:27    [19189222]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
KoDT
Member

Откуда:
Сообщений: 34
На msdn очень много полезного по этому поводу написано. Но 57 Гб это очень много...
18 май 16, 15:39    [19189303]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest
KoDT
o-o,

Давайте с простого начнем. А вы представляет себе что такое журнал транзакций (без претензий)?
И понимаете в какой момент он чистится и для чего нужен?

В зависимости от ответа поясню либо более детально либо более поверхностно.

Ну поищите по форуму на мой ник и на transaction log.
Если вы намекаете на подвисшую транзакцию, мешающую log truncation, то перечитайте log_reuse_wait_desc.
А теперь на любом удобном вам уровне поясните, пожалуйста, какая же связь между ожиданиями и тем, что в лог уйдет.
А еще вы предлагаете найти, "какие именно сессии заняли больше всего страниц лога".
Неужто те, что ожидают?
Или зачем еще нам это выяснять?
18 май 16, 15:49    [19189355]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
KoDT
Member

Откуда:
Сообщений: 34
o-o,

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

в лог как раз не уйдет! Если есть незавершенные транзакции использующие транзакшн лог. В целом, я думаю вам стоит получить больше информации о принципах работы транзакшн лог, но если основное желание в теме "докопаться" до чьих то слов - простите, я пожалуй перестану тут писать! Вы умный вам видней :)
19 май 16, 06:20    [19191567]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest
В третий раз для тех, кому из-за леса восклицательных знаков не видно log_reuse_wait_desc: LOG_BACKUP
Не active_transaction.
А если бы был сделан бэкап лога, была бы сделана и попытка log truncation. И если бы было невозможно это сделать по причине незавершенной транзакции, эта причина и была бы записана в log_reuse_wait_desc.
19 май 16, 07:20    [19191623]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest
KoDT
в лог как раз не уйдет! Если есть незавершенные транзакции использующие транзакшн лог.

Да что вы говорите.
Если есть незавершенные транзакции, то в лог больше никто писать не сможет? А вы проверьте, прежде чем фигню писать.
И как же согласно вашей логике продолжал расти лог, если в него никто и писать-то не мог все по той же причине незавершенной транзакции?
19 май 16, 07:27    [19191630]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
KoDT
Member

Откуда:
Сообщений: 34
o-o,

о чем вы сударь?

log_reuse_wait_desc: LOG_BACKUP

это говорит вам о том, что чекпоинты не могли выполниться вовремя (если вообще выполняются) и сейчас уже такой журнал спасет только BACKUP!

автор
Если есть незавершенные транзакции, то в лог больше никто писать не сможет?

могут. поэтому и растет!

ЕСЛИ ЕСТЬ НЕЗАВЕРШЕННЫЕ ТРАНЗАКЦИИ не сможет применяться чекпоинт. Лог транзакций очищается чекпоинтом или полным бэкапом. Если ни то ни другое у вас не выполняется логично что будет расти транзакшн лог!
Надо не шринкать файлы, а разбираться в вашей архитектуре (почему не выполняются чекпоинты или почему не выполняется бэкап)

Диалог ни о чем...
Причины роста транзакшн лога всегда очевидны любому маломальски грамотному администратору.
19 май 16, 09:56    [19192044]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
KoDT
Member

Откуда:
Сообщений: 34
автор
почему не выполняются чекпоинты или почему не выполняется бэкап

или что им мешает выполниться! именно поэтому я писал вам посмотреть что сжирает больше всего ваш транзакшн лог, какие именно сессии и чего они ждут!
Я, конечно же, предполагаю что в самой базе все настроено нормально (чекпоинты хотя бы раз в пол часа и бэкап каждый день).
19 май 16, 09:58    [19192058]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
KoDT
ЕСЛИ ЕСТЬ НЕЗАВЕРШЕННЫЕ ТРАНЗАКЦИИ не сможет применяться чекпоинт.
Т.е. в любой нагруженной системе, в которой незавершенные транзакции есть практически в любое время, чекпоинтов не случается?
Можете предоставить пруфлинк на ваше утверждение?
19 май 16, 10:25    [19192208]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6802
invm,
у него наверное версия, что при чекпоинте все встают и ждут :)

зы судя по активности он скоро книгу выпустит и будет её в пруфах укзывать :)
19 май 16, 10:32    [19192265]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest
KoDT
o-o,

о чем вы сударь?

log_reuse_wait_desc: LOG_BACKUP

это говорит вам о том, что чекпоинты не могли выполниться вовремя (если вообще выполняются) и сейчас уже такой журнал спасет только BACKUP!


давайте так, подтверждайте свои слова цитатами из документации, да?
еще раз, вот то, о чем я, а именно:
в log_reuse_wait_desc записана причина, по которой не было выполнено log truncation:
BOL
Because the active part of the log cannot be truncated or removed by shrinking,
truncation can be delayed when log records remain active for a long time.
Log records can remain active under a variety of conditions, which are described in this topic.
You can discover what, if anything, is preventing log truncation by using the log_reuse_wait and log_reuse_wait_desc columns of the sys.databases catalog view.

Factors That Can Delay Log Truncation
не по причине несостоявшегося чекпойнта и не по причине незавершенной транзакции не произошло log truncation.
теперь что еще вам осталось приплести, завалившаяся репликация или зеркало?
вы будете перечислять теперь все, кpоме того самого бэкапа лога, что явно указан в причине?

но мне нравится ваш финальный переход:
незакрытая ли транзакция, несостоявшийся ли чекпойнт,
но спасет ситуацию все же то, что написано явно: log backup
потому что это правильный ответ, и он уже известен?

поэтому в причинах все, что угодно, кроме log backup, но в ответе правильное, так?
и чем же бэкап лога мог помочь вам в вашей нынешней, уже второй версии?
может, бэкапы лога провоцируют чекпойнты?
почему же это не отражено в документации? CHECKPOINT (Transact-SQL)
см. раздел Events That Cause Checkpoints.
и почему при бэкапе лога никакой чекпойнт не происходит,
в чем можно убедиться, использя fn_dblog(),
ведь не бывает чекпойнта без соответствующей записи в лог?
19 май 16, 10:37    [19192302]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
KoDT
Member

Откуда:
Сообщений: 34
o-o,

то есть вы хотите сказать, что если существует сессия, которая использует страницы памяти в transaction log, но при этом сама сессия не завершена (по причине, например, блокировки), то чекпоинт сможет высвободить память, которую заняла данная сессия?

и почему при бэкапе лога никакой чекпойнт не происходит,

При чем тут бэкап лога и чекпоинт? это 2 разных механизма. не нужно путать теплое с мягким.

автор
но спасет ситуацию все же то, что написано явно: log backup

Так конечно спасает!
Извините меня, но вы не самый лучший админ.. Вы ищите ответ на вопрос "как усечь", а не вопрос "почему вырос", и "как сделать так, чтобы не рос"! Вы хотите устранить последствия, а не разобраться в причинах! Это очень удобно, конечно, всегда будет работа :) всегда нужно будет чистить транзакшн лог, вы всегда будете при деле.
Но честно у меня к такому администратору возникли бы определенные вопросы касательно компетенции и подходов к работе. Надо не тушить пожар, а научить всех пользоваться спичками.. Не бегать с ведрами к колодцу, а провести водопровод.. Надеюсь вы понимаете аллегорию.

В общем это уже не диалог. Предлагаю закончить его.

Закончим на этом. Добра и процветания вам и вашей бедной базе с 57 Гб в транзакшн логе.
19 май 16, 10:52    [19192402]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Модератор: KoDT, вы бы сначала научились участников дискуссии не путать, а потом уже делать выводы, кто админ хороший, а кто плохой.
19 май 16, 10:59    [19192457]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest
invm
KoDT
ЕСЛИ ЕСТЬ НЕЗАВЕРШЕННЫЕ ТРАНЗАКЦИИ не сможет применяться чекпоинт.
Т.е. в любой нагруженной системе, в которой незавершенные транзакции есть практически в любое время, чекпоинтов не случается?
Можете предоставить пруфлинк на ваше утверждение?

да несет на ровном месте.
в одном окне студии открыть транзакцию, во втором чекпойнт сделать.
один, два, десять.
и будем надеяться, что на этом курица-несушка нести перестанет
19 май 16, 11:05    [19192495]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest


К сообщению приложен файл. Размер - 71Kb
19 май 16, 11:05    [19192499]     Ответить | Цитировать Сообщить модератору
 Re: Растет файл журнала транзакций  [new]
o-o
Guest
picture

К сообщению приложен файл. Размер - 71Kb
19 май 16, 11:06    [19192505]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить