Сжатые резервные копии в SQL Server 2005 - PullRequest
2 голосов
/ 17 ноября 2008

Какой лучший бесплатный способ сжатия резервных копий, созданных в плане обслуживания?

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

Параметры:

  1. После резервного копирования создайте задачу T-SQL, которая будет запускать сценарий через xp_cmdshell, сжимающий каждую несжатую резервную копию.
  2. ???

Любые другие идеи приветствуются, я бы не хотел писать сценарий / программу.

Ответы [ 4 ]

4 голосов
/ 23 ноября 2009

Я являюсь автором проекта с открытым исходным кодом (GPL v3), который может быть тем, что вы ищете (хотя он не основан на плане обслуживания). Это инструмент командной строки (для планирования в запланированных задачах в Windows), который создает резервные копии в формате gzip, zip (в частности, zip64 из-за ограничения 4 ГБ с обычными файлами zip) или bzip2. Вы можете использовать инструмент для восстановления непосредственно из сжатых файлов или распаковать сжатые файлы (которые являются стандартными * .bak файлами) и использовать SQL Server для восстановления.

Это называется SQL Server Compressed Backup, находится здесь: http://sourceforge.net/projects/mssqlcompressed/

Пример команды будет:

msbp.exe backup "db(database=model)" "zip64" "local(path=c:\model.full.bak.zip)"
2 голосов
/ 23 ноября 2008

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

  • Планировщик: Cobian Backup

  • Резервное копирование: ExpressMaint (для MSSQL Express)

  • Сжатие: Cobian Backup

По сути, вы настраиваете планирование резервного копирования с помощью Cobian, запускаете ExpressMaint или другой инструмент резервного копирования MSSQL как Cobian «до события». Затем Кобиан архивирует результат и сохраняет его в месте назначения.

Сжатие файлов резервных копий SQL Server необходимо, если вы собираетесь переместить их в сеть и / или централизовать их хранилище.

1 голос
/ 17 ноября 2008

C: \ Program Files \ Средства поддержки> сжатие /?

- инструмент командной строки для архивирования файлов.

Я не знаю, как сжимать только несжатые файлы, но вы, возможно, уже знаете имена файлов в вашей задаче T-SQL?

Если вы это сделаете, вы можете передать имена файлов в качестве параметров вашему вызову xp_cmdshell.

0 голосов
/ 17 ноября 2008

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

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

...