SQL SERVER количество созданных .bak файлов - PullRequest
1 голос
/ 09 декабря 2011

Мне интересно, где (если возможно) вы можете настроить количество резервных копий для конкретной базы данных SQL Server, которые хранятся в папке системных резервных копий.то есть он должен «очистить» старые резервные копии автоматически (если это возможно).

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

Я знаю, это загруженный вопрос, но должен быть простой способ сделать это?

Спасибо.

Ответы [ 2 ]

1 голос
/ 09 декабря 2011

Как сказал Кристиан, планы обслуживания не поддерживают ваш сценарий. А серверный код (процедуры TSQL или CLR) часто становится очень неудобным, когда вам нужно взаимодействовать с файловой системой.

Так что это, вероятно, проще всего сделать на уровне ОС. Создайте резервную копию каждой базы данных в отдельной папке, используя план обслуживания или другой метод, а затем напишите сценарий на Perl, PowerShell или в любом другом месте, который удаляет самые старые файлы из папки, когда имеется более 3 файлов. Вы можете запланировать его запуск один раз в час, день, неделю или в соответствии с вашим графиком выпуска.

1 голос
/ 09 декабря 2011

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

Существует задача с именем " Задача очистки обслуживания ", которую можно настроить для удаления всех резервных копий определенной базы данных старше X .

Вот сообщение в блоге , в котором описывается распространенная ошибка, но также показана задача «Очистка после технического обслуживания» с необходимыми настройками.

...