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

Откуда:
Сообщений: 52
Привет!

Я где-то то ли читал, то ли может приснилось, но я думал, что при модели восстановления Full журнал транзакций при полном бэкапе урезается системой самостоятельно. Но недавно сделал для себя открытие, что это не так. В связи с этим вопрос 1: Получается, мне приснилось, что он должен сам урезаться?

В общем, урезал я его вручную. В связи с этим вопрос 2: он урезался до момента последнего полного бэкапа?
19 май 13, 13:01    [14318383]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Журнал транзакций автоматически усекается только в простой модели восстановления.
Зачем вам полная модель восстановления, если не делаете резервных копий журнала?
19 май 13, 13:37    [14318425]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Raskolnikov
Member

Откуда:
Сообщений: 52
автор
Журнал транзакций автоматически усекается только в простой модели восстановления.

Понял, спасибо!

автор
Зачем вам полная модель восстановления, если не делаете резервных копий журнала?

Почему это сразу "не делаете" :) ? Бэкапится и журнал транзакций и сама база; журнал транзакций чаще, база реже.

И второй вопрос для меня остается открытым.
19 май 13, 13:44    [14318437]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37138
Raskolnikov
В общем, урезал я его вручную. В связи с этим вопрос 2: он урезался до момента последнего полного бэкапа?
"Урезал" - это какая команда?
19 май 13, 14:03    [14318466]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Raskolnikov
Бэкапится и журнал транзакций и сама база; журнал транзакций чаще, база реже.
Если это так, то действие "урезал я его вручную" благополучно прерывает цепочку резервных копий журнала. Что опять вызывает вопрос -- а зачем вам полная модель восстановления? Или "урезать вручную" означает сделать резервную копию журнала?
19 май 13, 14:09    [14318476]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Raskolnikov
Member

Откуда:
Сообщений: 52
Сразу не сказал, скажу сейчас, что я не DBA и всё то, что происходит - это происходит в качестве экспериментов, т.к. меня эти вопросы интересуют и мне хотелось бы в них разобраться.

Продолжим. Есть база. Журнал транзакций бэкапится, условно, 1 раз в день. Полный бэкап делается 1 раз в неделю. Причем полный бэкап базы делается тогда, когда с базой никто не работает. Отсюда я делаю вывод, что после полного бэкапа журнал транзакций мне на текущий момент не нужен. И я хочу его обрезать, т.к. занятое под ним место, получается (по-моему) скушано напрасно.

Сергей, точно не скажу, какой командой я его урезал (т.к. экспериментировал на неделе на работе), но кажись как-то так

DBCC SHRINKFILE ('logfile_log');

invm, полная модель восстановления нужна для того (опять таки, по-моему), чтобы на промежутках в пределах недели можно было восстановить базу.
19 май 13, 14:43    [14318507]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37138
Raskolnikov
Продолжим. Есть база. Журнал транзакций бэкапится, условно, 1 раз в день. Полный бэкап делается 1 раз в неделю. Причем полный бэкап базы делается тогда, когда с базой никто не работает. Отсюда я делаю вывод, что после полного бэкапа журнал транзакций мне на текущий момент не нужен. И я хочу его обрезать, т.к. занятое под ним место, получается (по-моему) скушано напрасно.
Вы реально считаете, что сервер просто так расширил файл лога от нечего делать? И чтобы наказать его, вы хотите, чтобы сервер сначала пыхтел и уменьшал его, а потом всю неделю расширял до нужного ему размера?
19 май 13, 15:12    [14318558]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Raskolnikov
Member

Откуда:
Сообщений: 52
автор
Вы реально считаете, что сервер просто так расширил файл лога от нечего делать? И чтобы наказать его, вы хотите, чтобы сервер сначала пыхтел и уменьшал его, а потом всю неделю расширял до нужного ему размера?

Я считаю, что сервер его расширил, т.к. там теперь содежатся все действия, которые были с базой данных. Но после полного бэкапа базы данных зачем оно мне надо? Я его уменьшу, а за следующую неделю файл снова вырастет, но, условно, говоря будет содержать данные только за последнюю неделю, а не за предпоследнюю и т.п.
19 май 13, 15:17    [14318570]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Raskolnikov
автор
Вы реально считаете, что сервер просто так расширил файл лога от нечего делать? И чтобы наказать его, вы хотите, чтобы сервер сначала пыхтел и уменьшал его, а потом всю неделю расширял до нужного ему размера?

Я считаю, что сервер его расширил, т.к. там теперь содежатся все действия, которые были с базой данных. Но после полного бэкапа базы данных зачем оно мне надо? Я его уменьшу, а за следующую неделю файл снова вырастет, но, условно, говоря будет содержать данные только за последнюю неделю, а не за предпоследнюю и т.п.
Феерически...
Может, документацию почитаете? Например, про модели восстановления и управление журналом транзакций?
20 май 13, 00:10    [14318707]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Raskolnikov
Member

Откуда:
Сообщений: 52
sphinx_mv
Феерически...
Может, документацию почитаете? Например, про модели восстановления и управление журналом транзакций?

Не знаю, почему такая реакция. Документацию и статьи читал прежде, чем задать здесь вопрос. Но вопрос для меня остался не понятным. Я пришел, спросил, в надежде на то, что кто-то прольёт лучик света на мою темень. Прочитал ещё раз то, что находится по вашей ссылке, но, к сожалению, всеравно не понимаю зачем нужны записи в журнале транзакций, которые были сделаны сервером до момента полного бэкапа.
20 май 13, 21:12    [14323495]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Читать до полного понимания: Как перестать называть журнал транзакций SQL Server лог-файлом и прекратить борьбу за его размер
20 май 13, 21:30    [14323546]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Glory
Member

Откуда:
Сообщений: 104760
Raskolnikov
Прочитал ещё раз то, что находится по вашей ссылке, но, к сожалению, всеравно не понимаю зачем нужны записи в журнале транзакций, которые были сделаны сервером до момента полного бэкапа.

Если они вам не нужны, так поставьте простую модель восстановления.
20 май 13, 22:19    [14323710]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Raskolnikov
к сожалению, всеравно не понимаю зачем нужны записи в журнале транзакций, которые были сделаны сервером до момента полного бэкапа.

Ну если по-простому...

Представьте, что у вас есть полные бэкапы БД, один от 20.05.2013, другой от 21.05.2013, оба сделаны в 0 часов 0 минут. И бэкапы журнала транзакций, например, от 20.05.2013 08:00:00, от 20.05.2013 16:00:00 и от 21.05.2013 08:00:00.

Вам дают задание: восстановить БД на момент времени 20.05.2013 23:59:00, т.к. в 23:58:00 в БД ввели Особо Важную Информацию, а в 23:59:30 она была случайно удалена. И тут вы обнаруживаете, что полный бэкап от 21.05.2013 провёл усечение журнала транзакций.

Представляю, как вы будете ругать разработчиков SQL Server, которые "всеравно не поняли зачем нужны записи в журнале транзакций, которые были сделаны сервером до момента полного бэкапа" ;-)
21 май 13, 12:10    [14325676]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Raskolnikov
Member

Откуда:
Сообщений: 52
invm
Читать до полного понимания: Как перестать называть журнал транзакций SQL Server лог-файлом и прекратить борьбу за его размер

Попробую на досуге, спасибо.

Glory
Если они вам не нужны, так поставьте простую модель восстановления.

Ну как не нужен, в течении недели нужен. Т.к. в течении недели с момента последнего бэкапа база может рухнуть. Не нужен после полного бэкапа (ну я так думал, по крайней мере).

Гость333
Ну если по-простому...

Представьте, что у вас есть полные бэкапы БД, один от 20.05.2013, другой от 21.05.2013, оба сделаны в 0 часов 0 минут. И бэкапы журнала транзакций, например, от 20.05.2013 08:00:00, от 20.05.2013 16:00:00 и от 21.05.2013 08:00:00.

Вам дают задание: восстановить БД на момент времени 20.05.2013 23:59:00, т.к. в 23:58:00 в БД ввели Особо Важную Информацию, а в 23:59:30 она была случайно удалена. И тут вы обнаруживаете, что полный бэкап от 21.05.2013 провёл усечение журнала транзакций.

Представляю, как вы будете ругать разработчиков SQL Server, которые "всеравно не поняли зачем нужны записи в журнале транзакций, которые были сделаны сервером до момента полного бэкапа" ;-)

Ну а если по условию задачи мне не надо иметь возможность откатываться на указанную "точку"? Ставится задача не потерять не единой транзакции в базе.
27 май 13, 21:33    [14356273]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Raskolnikov
invm
Читать до полного понимания: Как перестать называть журнал транзакций SQL Server лог-файлом и прекратить борьбу за его размер

Попробую на досуге, спасибо.
Поставьте не "на досуг", а первым пунктом плана работ на завтрашний день.
Raskolnikov
Glory
Если они вам не нужны, так поставьте простую модель восстановления.

Ну как не нужен, в течении недели нужен. Т.к. в течении недели с момента последнего бэкапа база может рухнуть. Не нужен после полного бэкапа (ну я так думал, по крайней мере).
Вместо "думать" лучше "знать".
Восстановление БД возможно только при наличии бэкапа (или цепочки бэкапов в зависимости от модели восстановления). На какой момент у Вас это есть - до этого момента Вы и можете восстановиться.
Raskolnikov
Гость333
Представляю, как вы будете ругать разработчиков SQL Server, которые "всеравно не поняли зачем нужны записи в журнале транзакций, которые были сделаны сервером до момента полного бэкапа" ;-)

Ну а если по условию задачи мне не надо иметь возможность откатываться на указанную "точку"? Ставится задача не потерять не единой транзакции в базе.
Если Вы НЕ делаете бэкап журнала транзакций, считайте, что возможности ВОССТАНОВИТЬСЯ на ЛЮБОЙ момент времени ПОСЛЕ полного бэкапа у вас НЕТ - Вы сможете восстановить состояние БД ТОЛЬКО по состоянию на последний полный бэкап базы данных - даже если база "упала" за одну секунду до следующего полного бэкапа... И все даже завершенные транзакции за этот промежуток времени (между полными бэкапами) просто вылетают в трубу.

Бэкап журнала транзакций, кстати, решает и Вашу проблему с "раздуванием" файлов - после бэкапа журнала транзакций место, занимаемое им, сервер может повторно использовать под следующие журналы транзакций.
27 май 13, 22:58    [14356521]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Raskolnikov
Member

Откуда:
Сообщений: 52
sphinx_mv
Поставьте не "на досуг", а первым пунктом плана работ на завтрашний день.

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

sphinx_mv
Вместо "думать" лучше "знать".

Никто ж не спорит. Вот хочу как раз знать. Пока в процессе...

sphinx_mv
Восстановление БД возможно только при наличии бэкапа (или цепочки бэкапов в зависимости от модели восстановления). На какой момент у Вас это есть - до этого момента Вы и можете восстановиться.

Все правильно, я же про это писал. Есть у меня еженедельные бэкапы, напротяжении, нескольких месяцев. Есть журнал транзакций за несколько месяцев. Я 100% знаю, что откатываться буду максимум на какой-то бэкап. И вот тут снова возникает вопрос данной темы: зачем мне в этой ситуации журнал всех транзакций?

sphinx_mv
Если Вы НЕ делаете бэкап журнала транзакций, считайте, что возможности ВОССТАНОВИТЬСЯ на ЛЮБОЙ момент времени ПОСЛЕ полного бэкапа у вас НЕТ - Вы сможете восстановить состояние БД ТОЛЬКО по состоянию на последний полный бэкап базы данных - даже если база "упала" за одну секунду до следующего полного бэкапа... И все даже завершенные транзакции за этот промежуток времени (между полными бэкапами) просто вылетают в трубу.

Не знаю, вроде сам понимаю что говорю и стараюсь выразиться доступно, но вы меня тоже не поняли, видимо. Я же пишу о том, что урезать лог охота после полного бэкапа (я уже говорил, но повторюсь), т.к. мне достаточно будет откатиться на момент какого-то полного бэкапа. Предвкушаю вопрос "зачем используется полная модель восстановления?". Полная модель используется как раз для того, чтобы не потерять "кусочки" между полными бэкапами.

sphinx_mv
Бэкап журнала транзакций, кстати, решает и Вашу проблему с "раздуванием" файлов - после бэкапа журнала транзакций место, занимаемое им, сервер может повторно использовать под следующие журналы транзакций.

Возможно, мне сначала стоит ознакомится с информацией по ссылке, предоставленной invm, но задам вопрос авансом: т.е. после бэкапа журнала место под "сбэкапленное" пространство освобождается, но размер файла не уменьшается? В результате чего следующие транзакции пишутся туда, но при этом файл не увеличивается, пока не будет достигнута "квота" разросшаяся до бэкапа журнала? Если это так, тогда нельзя ли уменьшить физический файл, если место внутри его пусто?
27 май 13, 23:25    [14356601]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Sergey Sizov
Member

Откуда:
Сообщений: 1555
Raskolnikov
sphinx_mv
Бэкап журнала транзакций, кстати, решает и Вашу проблему с "раздуванием" файлов - после бэкапа журнала транзакций место, занимаемое им, сервер может повторно использовать под следующие журналы транзакций.

Возможно, мне сначала стоит ознакомится с информацией по ссылке, предоставленной invm, но задам вопрос авансом: т.е. после бэкапа журнала место под "сбэкапленное" пространство освобождается, но размер файла не уменьшается? В результате чего следующие транзакции пишутся туда, но при этом файл не увеличивается, пока не будет достигнута "квота" разросшаяся до бэкапа журнала? Если это так, тогда нельзя ли уменьшить физический файл, если место внутри его пусто?
Сударь, Вам же специально дали ссылку на статью, которая как раз на эти вопросы и отвечает. Точнее, объясняет бессмысленность этих вопросов. :)
27 май 13, 23:53    [14356672]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
invm
Member

Откуда: Москва
Сообщений: 9633
Raskolnikov
Есть у меня еженедельные бэкапы, напротяжении, нескольких месяцев. Есть журнал транзакций за несколько месяцев. Я 100% знаю, что откатываться буду максимум на какой-то бэкап. И вот тут снова возникает вопрос данной темы: зачем мне в этой ситуации журнал всех транзакций?
Представьте ситуацию, когда последний полный бекап оказался битым, а предпоследний нет, и бекапов журнала, начиная с этого предпоследнего у вас тоже нет.
Raskolnikov
Возможно, мне сначала стоит ознакомится с информацией по ссылке, предоставленной invm, но задам вопрос авансом: т.е. после бэкапа журнала место под "сбэкапленное" пространство освобождается, но размер файла не уменьшается? В результате чего следующие транзакции пишутся туда, но при этом файл не увеличивается, пока не будет достигнута "квота" разросшаяся до бэкапа журнала? Если это так, тогда нельзя ли уменьшить физический файл, если место внутри его пусто?
Пространство в журнале используется циклически. При штатной нагрузке и регулярном резервном копировании журнала, он вырастет до какого-то размера и рост прекратится. Урезая же файл журнала, вы просто заставляете сервер опять его увеличивать до необходимого размера, а это недешевая операция.
27 май 13, 23:56    [14356684]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31778
Raskolnikov
после бэкапа журнала место под "сбэкапленное" пространство освобождается, но размер файла не уменьшается? В результате чего следующие транзакции пишутся туда, но при этом файл не увеличивается, пока не будет достигнута "квота" разросшаяся до бэкапа журнала?
Да, правильно.
Raskolnikov
Если это так, тогда нельзя ли уменьшить физический файл, если место внутри его пусто?
Можно, но нужен взвешенный, разумный подход. Нет смысла уменьшать физический файл, если его сразу же после этого придётся расширять (для новых транзакций).
28 май 13, 08:40    [14357050]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
Raskolnikov
sphinx_mv
Если Вы НЕ делаете бэкап журнала транзакций, считайте, что возможности ВОССТАНОВИТЬСЯ на ЛЮБОЙ момент времени ПОСЛЕ полного бэкапа у вас НЕТ - Вы сможете восстановить состояние БД ТОЛЬКО по состоянию на последний полный бэкап базы данных - даже если база "упала" за одну секунду до следующего полного бэкапа... И все даже завершенные транзакции за этот промежуток времени (между полными бэкапами) просто вылетают в трубу.

Не знаю, вроде сам понимаю что говорю и стараюсь выразиться доступно, но вы меня тоже не поняли, видимо. Я же пишу о том, что урезать лог охота после полного бэкапа (я уже говорил, но повторюсь), т.к. мне достаточно будет откатиться на момент какого-то полного бэкапа. Предвкушаю вопрос "зачем используется полная модель восстановления?". Полная модель используется как раз для того, чтобы не потерять "кусочки" между полными бэкапами.
У меня сложилось впечатение, что Вы, во-первых, все еще путаете "лог-файл", "журналы транзакций" и "бэкап журнала транзакций".
Во-вторых, (что очень печально) даже со ссылкой Модели восстановления и управление журналом транзакций и (там же, т.е. рядом) конкретно с разделами Обзор моделей восстановления и Резервное копирование в модели полного восстановления (с примерами) Вы даже не пытались ознакомиться.
28 май 13, 11:59    [14358234]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Raskolnikov
Ну а если по условию задачи мне не надо иметь возможность откатываться на указанную "точку"? Ставится задача не потерять не единой транзакции в базе.

Спешу вас обрадовать — предусмотрен вариант и для вас, называется "простая модель восстановления с полными и дифференциальными бэкапами".

А если вы хотите, чтобы полный бэкап сбрасывал цепочку журнала транзакций, потому что по условию задачи вам что-то там не нужно... ну, разработчикам MSSQL нужно думать о всех пользователях, а не только о вас :-)
28 май 13, 12:18    [14358355]     Ответить | Цитировать Сообщить модератору
 Re: Автоуменьшение журнала транзакйий  [new]
Raskolnikov
Member

Откуда:
Сообщений: 52
Прочитал я наконец-то материал "Как перестать называть журнал транзакций SQL Server лог-файлом и прекратить борьбу за его размер". Информации много, что-то понятно, что-то не очень, что-то вообще не понятно :) . Буду осмысливать. invm, ещё раз спасибо за ссылку!

Sergey Sizov
Сударь, Вам же специально дали ссылку на статью, которая как раз на эти вопросы и отвечает. Точнее, объясняет бессмысленность этих вопросов. :)

Дали, но т.к. инфы там много, я поторопился задать вопрос наперёд.

invm, alexeyvg, на ваши посты (после моего предыдущего) ответить нечего, просто впитал информацию. Спасибо за ответы!

sphinx_mv
У меня сложилось впечатение, что Вы, во-первых, все еще путаете "лог-файл", "журналы транзакций" и "бэкап журнала транзакций".

С лог-файлом точно не путал.

sphinx_mv
Во-вторых, (что очень печально) даже со ссылкой Модели восстановления и управление журналом транзакций и (там же, т.е. рядом) конкретно с разделами Обзор моделей восстановления и Резервное копирование в модели полного восстановления (с примерами) Вы даже не пытались ознакомиться.

Как я говорил выше, с ссылкой я ознакамливался ранее. Но по ней находится текст, который меня "не берет".

Гость333
Спешу вас обрадовать — предусмотрен вариант и для вас, называется "простая модель восстановления с полными и дифференциальными бэкапами".

Да, спасибо, по поставленной в теме задаче - это будет "оно".

Гость333
А если вы хотите, чтобы полный бэкап сбрасывал цепочку журнала транзакций, потому что по условию задачи вам что-то там не нужно... ну, разработчикам MSSQL нужно думать о всех пользователях, а не только о вас :-)

Хотел я этого от незнания и в попытках разобраться с темой, а не потому что мне просто "хотелось" ;)

Ещё раз хочу всех поблагодарить за ответы!
8 июн 13, 21:30    [14410401]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить