SQL Server 2008 - как заархивировать файлы резервных копий и перейти на удаленный сервер - PullRequest
6 голосов
/ 04 марта 2010

У меня SQL Server 2008 выпуска не для предприятий. Я создаю ночные резервные копии, вручную архивирую файлы и затем вручную копирую на удаленный сервер.

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

Полный процесс, который мне нужен:

  1. Запуск резервного копирования ночью
  2. Zip резервная копия для уменьшения размера (с уникальным именем файла zip)
  3. Переместить zip-файл на удаленный сервер, который настроен в качестве сетевого диска на сервере базы данных

Признаюсь, часть сжатия отбросила меня. Любой совет будет очень приветствоваться.

Заранее спасибо.

Ответы [ 11 ]

0 голосов
/ 29 октября 2012

попробуйте эту ссылку: [http://www.sqlhub.com/2009/05/copy-files-with-sql-server-from-one.html][1]

короче:

1 - необходимо включить «Процедуры автоматизации Ole»

2 - измените и запустите этот скрипт для проверки:

DECLARE @FsObjId        INTEGER
DECLARE @Source         VARCHAR(4096)
DECLARE @Destination    VARCHAR(4096)
SET @Source = 'C:\ritesh'
SET @Destination= 'D:\ritesh'
--creare OLE Automation instance
EXEC sp_OACreate 'Scripting.FileSystemObject', @FsObjId OUTPUT
--call method of OLE Automation
EXEC sp_OAMethod @FsObjId, 'CopyFolder', NULL, @Source, @Destination
--once you finish copy, destroy object
EXEC sp_OADestroy @FsObjId

3 - создать план обслуживания:

3.1 - добавьте «Задание резервного копирования базы данных» и убедитесь, что выбрано «Установить сжатие резервной копии» = Сжать резервную копию. (это создаст ваши резервные копии в сжатом формате)

3.2 - добавьте «Выполнить задачу оператора T-SQL» с помощью вышеуказанного сценария, который переместит ваши файлы, которые будут выполняться после задачи 3.1:).

...