none
Как урезать транзакционные логи в SQL Server 2012

    Вопрос

  • Добрый вечер коллеги!

    Перечитал кучу статей, но так и не нашел ответа на свой вопрос.

    Есть 5 баз 1С в MSQL 2012, Настроен Maintance plan.  В конце Задачи"Очистка после обслуживания",  и "Очистка журнала". Но логи не удаляются приходиться в ручную очищать после предельного переполнения. Метод восстановления баз стоит полный.

    1.Что будет если установлю метод восстановления простой

    2. На что влияет если я выполняю сначала переход с полного режима на простой, после очищаю лог и потом снова высталяю метод восстановления полный

    3. Возможно есть какая то фишка по очистке логов.

    8 октября 2018 г. 19:18

Ответы

  • Здравствуйте,

    Вы можете ознакомиться о различных методов восстановления в статье "Модели восстановления (SQL Server)".

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

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    9 октября 2018 г. 3:45
    Модератор
  • Вы принципиально не понимаете необходимость и методы управления журналом транзакций. У меня журнал транзакций занимает объем порядка 40GB в нормальном режиме работы базы. И я его не урезаю, т.к. он все равно у вас вырастет до такого объема, если под нагрузкой имеет такой объем.

    Идея иметь большой файл - сокращение операций ввода/вывода, которые потребуются сделать сиквелу при приращении файла логов. Операции ввода/вывода априори медленные.

    поэтому, если вы используете модель восстановления Full, выполняйте регулярное резервное копирование журнала транзакций, смиритесь с его объемом и не делайте shrink. В противовес к этому, вы получаете возможность восстановления на максимально близкий к падению момент времени.

    Если вы все таки хотите урезать логи, то уйдите на Simple и откатывайтесь на последний полный бэкап.


    Innovation distinguishes between a leader and a follower - Steve Jobs

    • Помечено в качестве ответа Razor1212007 20 ноября 2018 г. 11:41
    19 ноября 2018 г. 13:08

Все ответы

  • Здравствуйте,

    Вы можете ознакомиться о различных методов восстановления в статье "Модели восстановления (SQL Server)".

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

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    9 октября 2018 г. 3:45
    Модератор
  • Здравствуйте,

    Вы можете ознакомиться о различных методов восстановления в статье "Модели восстановления (SQL Server)".

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

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    Нет ни слово про то как настроить автоматическую очистку логов.
    10 октября 2018 г. 10:17
  • Сжатие базы и освобождение пустого места (shrink & reorganize with releasing unused space) можно запустить автоматически. И команда будет выполнена после полного бэкапа базы (при использовании модели восстановления full)
    10 октября 2018 г. 11:49
  • Вам абсолютно правильно дали ссылки на модели восстановления. Если вы держите базы в модели восстановления Full, то у вас для этого должны быть веские причины в виде RTO и RPO, поэтому ваша задача позаботиться о правильном и достаточном резервном копировании журнала транзакций для поддержания его в приемлемых размерах.Если вы имеете модель восстановления Full и при этом собираетесь его очищать, то смените модель восстановления на Simple. Практика принудительного усечения журнала транзакций при полной модели восстановления приведет только к дополнительной нагрузке на дисковую подсистему, когда файл будет снова расти.

    Innovation distinguishes between a leader and a follower - Steve Jobs

    10 октября 2018 г. 11:56
  • Модель восстановления стоит Full. Создан план обслуживания, настроена очистка логов. Но задача не выполняется. Либо я что то не то делаю.

    31 октября 2018 г. 14:41
  • У вас нет шага по резервному копированию журнала транзакций базы данных.
    И очистки логов нет. Очистка журнала делает очистку журналов заданий в базе, но никак не логов.

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


    Innovation distinguishes between a leader and a follower - Steve Jobs

    31 октября 2018 г. 15:41
  • У меня стоит полная модель восстановления,  я добавил шаг по резервному копированию журнала транзакций базы данных. Но как теперь очистить лог?


    • Изменено Razor1212007 7 ноября 2018 г. 12:02
    7 ноября 2018 г. 12:01
  • How to BACKUP LOG WITH TRUNCATE_ONLY in SQL Server 2008, R2, 2012

    Microsoft recommends that instead of truncating logs, you switch to simple recovery mode instead.  That way you don’t generate logs you won’t be using, and you won’t incur performance impacts from repeatedly filling and truncating the logs.  You also remove the need to regularly back up the transaction log.


    Innovation distinguishes between a leader and a follower - Steve Jobs

    7 ноября 2018 г. 12:32
  • How to BACKUP LOG WITH TRUNCATE_ONLY in SQL Server 2008, R2, 2012

    Microsoft recommends that instead of truncating logs, you switch to simple recovery mode instead.  That way you don’t generate logs you won’t be using, and you won’t incur performance impacts from repeatedly filling and truncating the logs.  You also remove the need to regularly back up the transaction log.


    Innovation distinguishes between a leader and a follower - Steve Jobs


    Получается нужно переходить на простой режим восстановления. И если что не так с базой то откатиться на вечерний бэкап и все? 
    8 ноября 2018 г. 13:40
  • Но как теперь очистить лог так и не нашел?
    13 ноября 2018 г. 14:57
  • Очистить или уменьшить?
    13 ноября 2018 г. 16:08
  • Очистить или уменьшить?

    Я так понимаю раз бэкап лога делается, то наверно очистить. А как правильно по вашему мнению?
    14 ноября 2018 г. 12:25
  • Я так понимаю раз бэкап лога делается, то наверно очистить. А как правильно по вашему мнению?
    Если речь идет о команде Shrink, то скорее всего это сжатие.

    Сжатие файлов данных позволяет освободить неиспользуемое пространство путем перемещения страниц данных с конца файла в незанятое пространство ближе к началу файла. Когда в конце файла образуется достаточно свободного места, страницы данных в конце файла могут быть освобождены и возвращены в файловую систему.

    Avis de non-responsabilité:
    Mon opinion ne peut pas coïncider avec la position officielle de Microsoft.

    Bien cordialement, Andrei ...

    MCP

    14 ноября 2018 г. 14:35
    Модератор
  • Кто нибудь может написать Русским языком сделай так и так и будет тебе счастье. Как всегда слов много а по делу нифига. Ссылками все кидаются. Как и в безопасности администраторов много, а у кого идеальная система безопасности не понятно.

    • Изменено Razor1212007 15 ноября 2018 г. 14:08
    15 ноября 2018 г. 14:08
  • А вы сходите к своему руководству и попросите уменьшить вам ЗП в пользу сообщества?

    Вам дали ссылки на материалы. Это вопрос обсуждался уже даже не 1000 раз. Но вы упорно не хотите сделать работу, вы хотите, чтобы ее за вас сделали.

    15 ноября 2018 г. 15:14
  • А вы сходите к своему руководству и попросите уменьшить вам ЗП в пользу сообщества?

    Вам дали ссылки на материалы. Это вопрос обсуждался уже даже не 1000 раз. Но вы упорно не хотите сделать работу, вы хотите, чтобы ее за вас сделали.


    И что вы плачьтесь по зарплате, вам чего то не хватает, так наверно работу надо искать лучше. А зачем вы тут сидите Гуру администраторы. Ссылки кидать? Сколько я читал информации так и не нашел решения. Логично если бы разобрался, наверно не задавал вопрос.

    • Изменено Razor1212007 16 ноября 2018 г. 12:33
    16 ноября 2018 г. 10:54
  • т.к. от вас так и не дождались требований к точке восстановления при отказе (RPO) и времени восстановления (RTO), то точно ответить за вас никто не может.

    В общем случае, я думаю, вам поможет следующее:

    1. Установите режим восстановления Simple

    2. Задайте желаемый размер файла логов в свойствах базы

    3. переделайте задание резервного копирования, исключив из него резервное копирование журнала транзакций

    В данном решении вы восстанавливаетесь на последний полный бэкап. Если он у вас проходит раз в день, то теряете данные, сделанные после бэкапа, если раз в неделю, то максимум за неделю.

    Если вас это устраивает, то план действий выше. Если требования иные, то просьба озвучить их


    Innovation distinguishes between a leader and a follower - Steve Jobs

    16 ноября 2018 г. 12:38
  • Добрый день.

    Так я спросил но никто не ответил """"Получается нужно переходить на простой режим восстановления. И если что не так с базой то откатиться на вечерний бэкап и все?"""

      может не поняли меня. Интересует только восстановление на дату бэкапа, т.е на каждый предыдущий день вечер. Вам спасибо за четкое объяснение.

    А для себя было интересно как восстановить базу на момент ее падения.  Я так понимаю использовать метод Full, делать резервную копию транзакции, но как их урезать я не понял. Должен быть SQL запрос типа такого

     USE ″DBName″
    ALTER DATABASE ″DBName″ SET RECOVERY SIMPLE
    DBCC SHRINKFILE (″DBName″, ″Размер до которого урезать лог″);
    ALTER DATABASE ″DBName″ SET RECOVERY FULL

    Или я чего то не понял и это может только навредить? как у вас в компаниях настроено?


    • Изменено Razor1212007 19 ноября 2018 г. 12:48
    19 ноября 2018 г. 12:30
  • Вы принципиально не понимаете необходимость и методы управления журналом транзакций. У меня журнал транзакций занимает объем порядка 40GB в нормальном режиме работы базы. И я его не урезаю, т.к. он все равно у вас вырастет до такого объема, если под нагрузкой имеет такой объем.

    Идея иметь большой файл - сокращение операций ввода/вывода, которые потребуются сделать сиквелу при приращении файла логов. Операции ввода/вывода априори медленные.

    поэтому, если вы используете модель восстановления Full, выполняйте регулярное резервное копирование журнала транзакций, смиритесь с его объемом и не делайте shrink. В противовес к этому, вы получаете возможность восстановления на максимально близкий к падению момент времени.

    Если вы все таки хотите урезать логи, то уйдите на Simple и откатывайтесь на последний полный бэкап.


    Innovation distinguishes between a leader and a follower - Steve Jobs

    • Помечено в качестве ответа Razor1212007 20 ноября 2018 г. 11:41
    19 ноября 2018 г. 13:08
  • Вы принципиально не понимаете необходимость и методы управления журналом транзакций. У меня журнал транзакций занимает объем порядка 40GB в нормальном режиме работы базы. И я его не урезаю, т.к. он все равно у вас вырастет до такого объема, если под нагрузкой имеет такой объем.

    Идея иметь большой файл - сокращение операций ввода/вывода, которые потребуются сделать сиквелу при приращении файла логов. Операции ввода/вывода априори медленные.

    поэтому, если вы используете модель восстановления Full, выполняйте регулярное резервное копирование журнала транзакций, смиритесь с его объемом и не делайте shrink. В противовес к этому, вы получаете возможность восстановления на максимально близкий к падению момент времени.

    Если вы все таки хотите урезать логи, то уйдите на Simple и откатывайтесь на последний полный бэкап.


    Innovation distinguishes between a leader and a follower - Steve Jobs

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

    У вас он 40 Гб, у кого-то 200 и продолжает расти. Получается из ваших слов вы с ним ничего не делаете, он достиг своего предела, возможно у вас не вноситься столько информации как у нас?

    20 ноября 2018 г. 8:06
  • Я регулярно его бэкаплю

    В любом случае, всю необходимую информацию вам сообщили


    Innovation distinguishes between a leader and a follower - Steve Jobs

    20 ноября 2018 г. 8:27
  • Строгого предела размера журнала транзакций в модели восстановления "Full" нет, т.к. его размер зависит от нагрузки и особенностей приложения. Просто определяешь максимально возможный размер лога транзакций на основе наблюдений в течение нескольких дней (можно настроить, например, сбор значений счётчика perfmon).

    Знание максимально возможного размера лога транзакций позволит "зафиксировать" размер файла лога транзакций, чтобы исключить ситуацию, когда лог растет до большого размера, а затем ужимается до малого размера с помощью команды shrink (данная операция может привести к нагрузке на дисковую подсистему и её нужно минимизировать).

    13 марта 2019 г. 12:57