Назад | Перейти на главную страницу

Функция пакетного файла

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

Какую команду я могу использовать в пакетном задании для удаления содержимого существующего файла?

Вам обязательно стоит использовать План обслуживания функциональность для резервного копирования. Вы можете легко настроить его для создания нового файла резервной копии для каждого запуска (он добавит полную дату и время в конец имени файла, например mydb_backup_201106080006.bak).

Одна из возможных задач плана обслуживания: Задача очистки при обслуживании который используется для удаления ненужных файлов * .bak и * .trn (или любых других). Точность (временной интервал, определяющий возможность удаления файла) составляет час / день / неделя / месяц / год.

Вы можете вставить Execute T-SQL Statement Task должен быть запущен перед такой задачей очистки. Там (в Execute T-SQL Statement Task) вы выполняете внешнюю команду для копирования / сжатия ваших резервных копий (например, EXEC master.dbo.xp_cmdshell 'C:\path\to\compress.bat).

Я сам делаю это на наших серверах, где все еще используется SQL Server 2005 (для сжатия с помощью WinRAR). SQL Server 2008 поддерживает встроенное сжатие файлов резервных копий (WinRAR обеспечивает лучшее сжатие, но занимает значительно больше времени).

Как вы выполняете резервное копирование данных? Есть ли у вашего задания резервного копирования возможность выполнить сценарий задания публикации? В этом случае у вас может быть простой .cmd с командой удаления, которая удаляет все файлы в каталоге, которые заканчиваются расширением резервной копии.

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

Если вы выполняете резервное копирование на файловое устройство, на экране задачи резервного копирования базы данных на вкладке параметров есть переключатель, позволяющий выбрать «Перезаписать все существующие наборы резервных копий». Это будет перезаписывать резервную копию при каждом запуске.