none
SQL Server 2014 - не работает "Срок действия резервного набора данных" в плане обслуживания RRS feed

  • Общие обсуждения

  • На сервере установлен SQL Server 2014 (rus). Есть БД. Настроил план обслуживания. Ставлю "присоединить" и устанавливаю срок действия резервного набора данных 1 день, 2 дня, всё равно сколько, однако старые наборы не затираются. В документации что находил указано что "Флажок Срок действия резервного набора данных истекает
    Указывает время, по истечении которого резервный набор данных для этой резервной копии может быть перезаписан.". Нигде не указывается о необходимости дополнительных действиях по удалению.

    В еще одной документации (на 2012 сервер) указано "Backup set will expire — срок (или дата), после которой резервная копия будет считаться устаревшей и перезаписываться SQL Server автоматически. Значение 0 означает, что копия никогда не будет считаться устаревшей. В команде BACKUP для указания срока/времени устаревания используются параметры RETAINDAYS и EXPIREDATE." т.е. говорится что старые наборы будут автоматически перезаписаны (как понимаю удалены при очередной работе плана).

    Но на практике не работает.

    При просмотре T-SQL в плане вижу что система автоматически  ставит параметр SKIP. -  Возможно это из-за него система не использует срок действия (не уверен). Если это так, то я не нашёл где это надо установить.

    Здесь не technet нашёл что надо использовать очистку после обслуживания, однако в нём указывается только информация по файлам. А у нас в одном файле несколько наборов данных.

    Это баг такой?

Все ответы

  • Это баг такой?

    Никакого БАГа, время жизни бэкапа лишь влияет на возможность его перезаписать.... удаление вы должны реализовывать самостоятельно отдельным процессом 

    http://www.t-sql.ru

    Отвечающий
  • удаление вы должны реализовывать самостоятельно отдельным процессом
    И каким процессом можно удалить набор данных а не сам файл?
  • 1 бэкап - 1 файл, и у вас не будет проблем с очисткой старых файлов

    http://www.t-sql.ru

    Отвечающий
  • 1 бэкап - 1 файл, и у вас не будет проблем с очисткой старых файлов

    Какой тогда смысл в хранении нескольких наборов резервных данных в одном файле?  При чём с указанием разных сроков действия?

    То что можно один набор- один файл оно понятно. Хотел использовать механизм с одним "контейнером". В документации на эту тему - где ничего, а где как я выше привёл "Backup set will expire — срок (или дата), после которой резервная копия будет считаться устаревшей и перезаписываться SQL Server автоматически".

    Толи в 2012 сервере это было так, а в 2014 это убрали, толи документация не  корректна.  А это было: УЧЕБНОЕ ПОСОБИЕ ПО КУРСУ
    “Администрирование баз данных Microsoft SQL Server”
    (название программы)
    (по аккредитованной основной профессиональной образовательной программе
    «230100 Информатика и вычислительная техника») https://dl.spbstu.ru/pluginfile.php/138240/mod_resource/content/6/SQL2012_Administration_new.pdf страница 47.

  • Толи в 2012 сервере это было так, а в 2014 это убрали, толи документация не  корректна.  

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

    >>после которой резервная копия будет считаться устаревшей и перезаписываться SQL Server автоматически".

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


    http://www.t-sql.ru

    Отвечающий
  • >>после которой резервная копия будет считаться устаревшей и перезаписываться SQL Server автоматически".

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

    Странные у вас интерпретации, - что бы "автоматически" SQL сервер что то сделал, я должен ручками ему об этом сказать?

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

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

    PS где я говорил что меня обманывают?

  • 1) Ещё раз: бэкапы АВТОМАТИЧЕЧКИ перезатираются, когда у них истекает срок действия...не нужно ничего ручками делать

    2) Если вам такое поведение кажется странным, то вы можете оформить фидбэк на сайте майкрософт


    http://www.t-sql.ru

    Отвечающий
  • 1) Ещё раз: бэкапы АВТОМАТИЧЕЧКИ перезатираются, когда у них истекает срок действия...не нужно ничего ручками делать


    Вы же сами писали что нет:

    "по истечению срока жизни бэкапа вы делаете новую резервную копию"...

    Давайте с начала, с учётом терминологии. По терминологии SQL и MS есть файл содержащий несколько резервных копий баз данных. Каждая резервная копия имеет свой срок жизни. Файл к которому плану обслуживания присоединяется очередная резервная копия БД один, и как таковой срока жизни не имеет.

    Теперь, в плане обслуживания я указываю что очередную резервную копию, со сроком жизни например 2 дня присоединить к такому то файлу. Итого в файл присоединяется эта резервная копия и устанавливается дата и время истечения срока жизни этой резервной копии. При этом, в этом же файле присутствует резервая копия БД с истёкшим сроком жизни. 

    В той документации (и вами выше) сказано что система автоматически перезатирает и делать ручками ничего не надо. Однако на практике устаревшая резервная копия БД в этом файле не перезатёрлась.

    Разве вам не кажется что такое поведение не  странно?

    На счёт вашего второго пункта, позволю обратить внимание что я задал вопрос не на рутрекере и не сисадмине а в соответствующем разделе форума social.technet.microsoft.com. Что не так?

    2 июня 2016 г. 21:56
  • >>Однако на практике устаревшая резервная копия БД в этом файле не перезатёрлась.

    Разве вам не кажется что такое поведение не  странно?

    Нет, не кажется, т.к. я читаю документацию, где указаны ещё такие пар-ры, как SKIP, NOSKIP, INIT и NOINIT

    >>в соответствующем разделе форума social.technet.microsoft.com. Что не так?

    всё так, только этот форум ничем не отличается от озвученных выше...или вы и в правду верите, что написав сюда, команда в редмонде бросит все свои силы на изучения вашей "проблемы"?

    для этого есть специальный ресурс: https://connect.microsoft.com/SQLServer 

    ЗЫ: Только ваша проблема в том, что вы просто невнимательно читаете документацию


    http://www.t-sql.ru

    Отвечающий
  • >>Однако на практике устаревшая резервная копия БД в этом файле не перезатёрлась.

    Разве вам не кажется что такое поведение не  странно?

    Нет, не кажется, т.к. я читаю документацию, где указаны ещё такие пар-ры, как SKIP, NOSKIP, INIT и NOINIT


    Так если вы знаете где читать и всё понимаете, почему же вы не можете просто дать ссылку и пояснения? ИЛи вы здесь исключительно для того что бы удовлетворять своё эго или зарабатывать себе баллы???

    Люди сюда приходят за помощью, вы же вместо того ,что бы помочь постоянно говорите что "вас никто не обманывает" "вы читаете не там и не так".

    Я вам привожу ссылки и цитаты. Вы говорите сперва одно, потом противоположное. Помощи от вас НУЛЬ.

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

    PS я читаю внимательно, просто зачастую птичий язык MS не понимает никто.

    5 июня 2016 г. 21:19
  • почему же вы не можете просто дать ссылку 

    https://msdn.microsoft.com/en-us/library/ms186865.aspx

    http://www.t-sql.ru

    Отвечающий
  • почему же вы не можете просто дать ссылку 

    https://msdn.microsoft.com/en-us/library/ms186865.aspx

    Эту документацию я видел.

    И где в тексте по ссылки ответы на вопросы, в том числе на вопрос,  зачем устанавливать на каждый  Backup set присоединяемый к файлу контейнеру, если удалять можно только сам файл? - В таком случае интересует только срок жизни самого файла. Но ведь нет, устанавливается срок жизни не файла-контейнера, а каждой резервной копии БД в нём (каждого Backup set).

    6 июня 2016 г. 21:05
  • В документации написано, как ЭТО работает! А не почему...

    http://www.t-sql.ru

    Отвечающий