8.х Растёт лог у базы на SQL 2008

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем TODD22, 14 мар 2011.

  1. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Есть база на SQL 2008 размер базы 1.5 Гб, размер лога 7.5 гб. Вроде как при Полном бэкапе он должен очищатся сам, или нет? Вобщем подскажите почему так растёт и как его резать правильно?
  2. Requin
    Offline

    Requin Опытный в 1С

    Регистрация:
    10 май 2010
    Сообщения:
    1.911
    Симпатии:
    2
    Баллы:
    29
    Модель восстановления (Recovery model) поставьте Простая (Simple).
  3. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26

    Слушай, ты же на SQL.RU засветился, ну почитай внимательно - там это уже миллион раз описано.

    :angry: Отличный совет - тем кто восстанавливает БД за деньги (после таких вот советов) тоже нужна работа.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ....прям до транзакции восстанавливают, ага :)
  5. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    ну или на определённый момент времени :) А с простой моделью - извиняйте, но только до последнего бэкапа (кстати, интересно узнать, у советчика как часто делаются бэкапы..)
  6. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Ну вот вообще сбили меня с мыслей. Вобщем у меня бэкап делается раз в сутки. И этого достаточно. У меня в БД работают 1-2 человека. Документооборот маленький.
    Что делать ума не приложу. Мне бы по простенькому для начала. А уже потом видно будет. Как дело пойдёт.

    В чём будет проблема если я поставлю "простую" модель востановления?
  7. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Эм. Я конечно не сисадмин, так на SQL.RU заглянул краем глаза, насколько понял: TODD22 есть два понятия: отчистка журнала лога и сжатие. При отчистке журнала - физическое место занимаемое файлом лога на диске не уменьшается. Вам нужно судя по вашему вопросу, не отчистка, а сжатие (усечение). Насколько понял за это отвечает команда: DBCC SHRINKFILE. Также насколько понял, если модель восстановления простая, и свойство AutoShrink стоит в true, то сжатие будет осуществляться автоматически после полного бэкапа.
    BVB_berserk - я правильно все понял?
  8. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    У меня модель востановления "полная" и АutoShrink=Ложь.
    Ну я поставлю "простую" и АutoShrink=Истина.
    А вообще на будущее я думаю надо будет вникнуть в востановление до транзакций.
  9. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Отчасти.

    Сначала правильное: суть в том, что если MSSQL отхватил себе места под файлы (БД или лог), то так просто он его возвращать не хочет (что в принципе и верно, т.к. операции расширения/урезания файла ресурсоемки). Если ТС не обращал внимания на лог и он вырос до 100 Гб, простым бэкапом лога файл не уменьшить. Нужно делать Шринк лога. Верно и обратное - если не сделать бэкап лога, MSSQL сделать шринк не даст.
    Я рекомендую вариант - выбрать адекватный размер лога , делать регулярные бэкапы, а сам файл лога не шринкать. Если конечно файл лога неадекватно разросся, то порезать его до нужного размера.

    Теперь неправильное: свойство AutoShrink БД не влияет на шринк после бэкапа - это можно назвать фоновым (регламентным) шринком файлов БД - запускается автоматически в моменты, когда нет нагрузки на БД, чтобы не мешать пользователям. Крайне не советую включать.

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

    Т.е. если вы хотите, чтобы ваш лог не рос - бэкапьте его (ну или пользуйтесь простой моделью восстановления). Если же нужно что-то сделать с уже выросшим логом -забэкапьте его и сделайте шринк.
  10. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Что то не совсем понял.
    При бэкапе лога AutoShrink не надо ставить в истину? И лог сам будет уменьшатся?
    При простой модели восстановления AutoShrink опять таки не трогаем?

    Как с помощью лога я могу восстановить данные? То есть если у меня например полный бэкап делается раз в сутки. Что я могу сделать с помощью лога?
  11. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    AutoShrink вообще лучше не используй. Иначе файлы у тебя будут постоянно уменьшаться и увеличиваться (как всегда в моменты самых пиковых нагрузок, добавляя ещё тормозов).

    При бэкапах размер файла лога не уменьшится, но и расти не будет (если задан нормальный размер). При правильном размере файла лога тебе операция Шринк вообще не нужна.


    Лог содержит в себе все транзакции с момента последнего полного бэкапа. Соответственно, ты можешь, используя свой ночной бэкап + лог восстановить бд на любой момент времени вплоть до конкретной транзакции
  12. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Понял. Не буду. :)
    У меня 1-2 пользователя в базе. У меня всё скромно :)
    А как этот "правильный" размер определить? У меня сейчас 8 Гб. А БД 1.5.
    А где можно посмотреть как это сделать? Ну хотя бы не до транзакции, а до часа/минуты?
    Я полностью базу из "полного" бэкапа восстанавливал. Ну и раза 2-3 в месяц поднимаю из бэкапа, для проверки.

    Итак мне сейчас надо настроить бэкап логов, а модель восстановления оставить полную? И урезать файл бэкапа так как он у меня 8 Гб что само по себе мне кажется много. Это всё можно сделать через менеджмент студию в смысле "мышкой", а то совсем некогда T-SQL учить?
  13. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Сделай фул бэкап и бэкап лога. После рабочего дня сделай
    Увидишь насколько заполнился твой лог за рабочий день, это будут все твои транзакции. Умножь этот размер на 2-3 (про запас) и сделай шринк своего лога до этого размера.
    Таким образом получим файл лога, который не будет расти (ну по крайней мере до тех пор пока количество транзакций за рабочий день не начнёт его заполнять на 100%).
    Кстати операции перестроения индексов также пишутся в лог, тут уже смотри свой порядок действий в Maintenance Plan.
  14. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Ну вот, вкратце. Правда без картинок :angry:
  15. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Сам не бэкапил, но мне сисадмины настраивали, замечательно просто, периодичсекий бэкап базы данных (только изменений) и соответственно логи чистились, восстанавливали как-то сложно, но делали.
  16. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Бэкап лога это бэкап "журнала транзакций"?
  17. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Я настроил бэкап журнала транзакций. Ночью он у меня выполнится. Завтра я в конце рабочего дня смотрю его размер. Вот меня что интересует.... Если у меня сейчас журнал вырос до 8 гб то он так и будет 8 Гб в смысле занимать метса? А сам например будет заполнен на 1.5 Гб. Я где то читал что SQL просто так не отдаёт место операционной системе. Так ли это? И я правильно понимаю что шринк как раз и нужен что бы отдать место ОС?
  18. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    да :)


    Да :) Бэкапом ты очистишь место в файле, но сам размер файла от этого не изменится. А вот шринком ты отнимешь всё лишнее :)
  19. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    А можно пример команды шринка. Или где в менджмент студии это найти?
  20. Diego
    Offline

    Diego Любитель 1С Команда форума

    Регистрация:
    3 апр 2009
    Сообщения:
    966
    Симпатии:
    2
    Баллы:
    29
    Если вручную - по базе правой клавишей мыши - задания - сжать - (tasks-shrink)

    Если автоматически - в планы обслуживания добавить задание (Maintanance Plans).

Поделиться этой страницей