powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разница в нагрузке в зависимости от модели восстановления
19 сообщений из 19, страница 1 из 1
Разница в нагрузке в зависимости от модели восстановления
    #39885333
morohon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер.

Ищу ответ на вроде бы элементарный вопрос:
Есть ли разница в нагрузке на диск / процессор / ОЗУ при использовании полной модели восстановления и простой модели восстановления? Интересует именно процесс работы, а не затрачиваемые ресурсы на регулярный бэкап журнала транзакций.

Может быть есть какая-то ссылка, которую можно изучить?
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885360
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon
Есть ли разница в нагрузке на диск / процессор / ОЗУ при использовании полной модели восстановления и простой модели восстановления?
Имеет, для некоторых случаев минимального протоколирования.
Если таких операций вами не предусмотрено, то без разницы.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885551
morohon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg, А вы не можете кинуть в меня ссылкой, где про это почитать можно подробнее?
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885606
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon
alexeyvg, А вы не можете кинуть в меня ссылкой, где про это почитать можно подробнее?
Влияние на загрузку данных: The Data Loading Performance Guide
Влияние на операции с индексами: Выбор модели восстановления для операций с индексами
Вот ещё перевод от Александра Гладченко: Руководство по производительности загрузки данных
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885882
morohon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

Спасибо огромное!

А подскажите еще момент пожалуйста, касательно как раз второй ссылки: https://docs.microsoft.com/ru-ru/previous-versions/sql/sql-server-2008-r2/ms191484(v=sql.105)

Правильно ли я понимаю, что здесь идет речь о том, что при полной модели восстановления и выполнения процедуры реиндексации (как частный пример) будет резкий рост журнала транзакций и, чтобы этого избежать, рекомендуется на время выполнения этой операции необходимо переводить базу данных в простую модель восстановления, а по окончании обратно? Или я неправильно понимаю?

Цепочка бэкапов при этом не нарушится?
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885890
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon
Правильно ли я понимаю, что здесь идет речь о том, что при полной модели восстановления и выполнения процедуры реиндексации (как частный пример) будет резкий рост журнала транзакций и, чтобы этого избежать, рекомендуется на время выполнения этой операции необходимо переводить базу данных в простую модель восстановления, а по окончании обратно? Или я неправильно понимаю?
Да, журнал в случае полного протоколирования заполняется быстрее.

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

Если вам нужно иметь возможность восстановить данные на любой момент времени, то выбирайте FULL модель, если достаточно только на момент бакапа - то SIMPLE.

И никак иначе, никаких "переключений на время перестроения".
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885892
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon
Цепочка бэкапов при этом не нарушится?
Да, цепочка нарушается, так что переключение туда-обратно - рискованная операция.
Плюс будут тратиться ресурсы DBA на поддержку этого нестандарта, не стоит оно того.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885895
morohon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

И снова спасибо за ответ.

Вопрос касательно заполнения журнала транзакций при перестроении индексов не относился к тематике производительности различных моделей восстановления.

Я просто часто в работе сталкиваюсь с базами MSSQL в полной модели восстановления и огромным журналом транзакций. И в большинстве своем это связано с тем, что после перестроения индексов журнал транзакций вырастает до немыслимых размеров. Может быть Вы в курсе как решать эту проблему правильно? У меня есть примеры, где файл базы данных весит 40-50 гб, а журнал транзакций весит от 250 гб. Хочется и использовать полную модель восстановления и иметь приемлемый размер журнала транзакций с учетом его постоянного резервного копирования (раз в полчаса/час/два).

Сейчас в msdn нашел статью: https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/transaction-log-disk-space-for-index-operations?redirectedfrom=MSDN&view=sql-server-ver15

и там говорится о сортировке результатов в tempdb для уменьшения нагрузки на журнал транзакций - насколько сильно это помогает? Или тут только тесты?

Может быть есть какие-то полезные статьи, чтобы понять как решаются такие проблемы?
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885898
Фотография Yasha123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon

Правильно ли я понимаю, что здесь идет речь о том, что при полной модели восстановления и выполнения процедуры реиндексации (как частный пример) будет резкий рост журнала транзакций и, чтобы этого избежать, рекомендуется на время выполнения этой операции необходимо переводить базу данных в простую модель восстановления, а по окончании обратно? Или я неправильно понимаю?

Цепочка бэкапов при этом не нарушится?

конечно нарушится.
чтобы не раздувать лог, переводят в bulk logged.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885900
morohon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yasha123,

И Вам спасибо за ответ.

картинка складывается благодаря Вашим ответам, ответам alexeyvg и документации microsoft. Получается общая методика полной модели восстановления такая:
Регулярно с некоторой периодичностью (раз в неделю, месяц, два (в зависимости от требований системы)) делаем полный бэкап базы данных. Постоянно делаем бэкап журнала транзакций (каждые полчаса, час, два), чтобы добиться его усечения. При массовых операциях (таких как перестроение индекса) необходимо перевести модель восстановления базы в полную модель с неполным протоколированием, выполнить операцию и вернуть полную модель восстановления. При таком подходе цепочка бэкапов не будет нарушена?

Или я все же не прав?
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885902
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon
Я просто часто в работе сталкиваюсь с базами MSSQL в полной модели восстановления и огромным журналом транзакций. И в большинстве своем это связано с тем, что после перестроения индексов журнал транзакций вырастает до немыслимых размеров. Может быть Вы в курсе как решать эту проблему правильно? У меня есть примеры, где файл базы данных весит 40-50 гб, а журнал транзакций весит от 250 гб. Хочется и использовать полную модель восстановления и иметь приемлемый размер журнала транзакций с учетом его постоянного резервного копирования (раз в полчаса/час/два).

Сейчас в msdn нашел статью: https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/transaction-log-disk-space-for-index-operations?redirectedfrom=MSDN&view=sql-server-ver15

и там говорится о сортировке результатов в tempdb для уменьшения нагрузки на журнал транзакций - насколько сильно это помогает?
Да, вот можно использовать рекомендации по ссылке.
Про п. 3 как раз написал Yasha123

Ещё можно во время выполнения обслуживания запускать дополнительные бакапы лога.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885909
Minamoto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon
При массовых операциях (таких как перестроение индекса) необходимо перевести модель восстановления базы в полную модель с неполным протоколированием, выполнить операцию и вернуть полную модель восстановления. При таком подходе цепочка бэкапов не будет нарушена?

"Необходимо" - сильное слово. Можно перевести в такую модель, чтобы снизить размер лога транзакций, и соглашаясь с последствиями такого перевода.
Последствие следующее:
Цепочка не будет нарушена, но нельзя будет восстановиться на момент времени, который попадает в бэкап лога транзакций, содержащий минимально протоколируемую операцию.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885912
morohon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Minamoto,

Спасибо огромное!

Я понимаю, что задаю глупые вопросы и все ответы есть в документации - извините!

Все ответы помогли найти нужные ссылки в документации и понять механизм работы. Еще раз спасибо, будем пробовать и чаще обращаться к документации!
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885914
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
morohon
Получается общая методика полной модели восстановления такая:
Регулярно с некоторой периодичностью (раз в неделю, месяц, два (в зависимости от требований системы)) делаем полный бэкап базы данных. Постоянно делаем бэкап журнала транзакций (каждые полчаса, час, два), чтобы добиться его усечения.
Не, раз в месяц - слишком редко. Представляете, сколько будет файлов бакапов логов на один полный бакап, и как всё это нужно будет восстанавливать?

И объём хранения таким образом увеличивается (представляете, сколько будет логов, еслри у вас только от одного обслуживания получилось 250 гигов на 50 гиг базу?)

Нужно делать полный бакап раз в сутки, а бакапы логов чаще (час, полчаса)
morohon
чтобы добиться его усечения
Нет, что бы получить возможность восстановить базу.
Главное для базы, и для DBA - что бы не пропали данные, даже в случае краха серверов!!!

morohon
При массовых операциях (таких как перестроение индекса) необходимо перевести модель восстановления базы в полную модель с неполным протоколированием, выполнить операцию и вернуть полную модель восстановления. При таком подходе цепочка бэкапов не будет нарушена?
В принципе всё правильно.

Вот ещё некоторые ссылки:
Модели восстановления
Резервное копирование с использованием модели восстановления с неполным протоколированием
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885937
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть очень простое решение по переиндексации, не вызывающее большого прироста журнала - выполнять растянуто по времени, не в один приём, а в течение недели, скажем.

И лучше не заменять перерасчет статистик переиндексацией.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39885977
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
Есть очень простое решение по переиндексации, не вызывающее большого прироста журнала - выполнять растянуто по времени, не в один приём, а в течение недели, скажем.
Да, общее желание выполнить переиндексацию "всего" за один раз вызвано, видимо, инерцией мышления.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39886003
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
Да, общее желание выполнить переиндексацию "всего" за один раз вызвано, видимо, инерцией мышления.


Насколько помню всегда рекомендовалось выполнять переиндексацию в период минимальной нагрузки на систему, а это, как правило, ночные часы в конце недели. "Размазывать" переиндексацию на неделю наверное можно, но может сложится ситуация, при которой индексам таблиц, перестроенных в понедельник, к субботе снова потребуется переиндексация, при том что останутся таблицы, до которых очередь еще не дошла.
По поводу раздутых логов - если после первой переиндексации размер лога стал, скажем 100 ГБ, в течении недели не изменился, после второй переиндексации все еще 100 ГБ - то, видимо, это размер, необходимый для нормального функционирования базы. Все, что надо сделать - позаботиться, что бы на диске было достаточно свободного места для размещения лога такого размера.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39886016
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
flexgen
может сложится ситуация, при которой индексам таблиц, перестроенных в понедельник, к субботе снова потребуется переиндексация, при том что останутся таблицы, до которых очередь еще не дошла.
А если делать переиндексацию по субботам, то к среде для всех таблиц потребуется переинедксация :-)

Тут нужно правильно выбирать период, ИМХО именно он важен, а не день недели.
Вот правильное время минимальной нагрузки действительно может быть возможно выбрать только на определённый день недели, тут уж ничего не поделаешь...

flexgen
По поводу раздутых логов - если после первой переиндексации размер лога стал, скажем 100 ГБ, в течении недели не изменился, после второй переиндексации все еще 100 ГБ - то, видимо, это размер, необходимый для нормального функционирования базы. Все, что надо сделать - позаботиться, что бы на диске было достаточно свободного места для размещения лога такого размера.
В общем то правильно, но обидно же, что из за одной-единственной операции обслуживания придётся покупать в 5 раз больше СХД, тем более быстрого СХД, а не для бакапов.
...
Рейтинг: 0 / 0
Разница в нагрузке в зависимости от модели восстановления
    #39886049
Фотография PsyMisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg, - плюсадин! :)
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Разница в нагрузке в зависимости от модели восстановления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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