Ошибка резервного копирования базы данных SQL 3 - PullRequest
0 голосов
/ 19 августа 2011

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

Сервер 2008R2 как для сервера Windows, так и для сервера SQL.

Не более месяца назад этот же пакетный файл будет выполнять резервное копирование моей базы данных.Теперь, когда я вручную запускаю свой сценарий sql, я получаю «Ошибка операционной системы 3 - не удается найти указанный файл».

Вот мой сценарий:

DECLARE @FileName varchar(50), @Date varchar(20)
set @Date = REPLACE ((CONVERT (VARCHAR(10), GETDATE(), 101)), '/', '-')
SET @FileName = ('C:\mybkfolder\BackupSQLData\db_dnt_' + @Date + '.bak')
BACKUP DATABASE db_dnt TO DISK = @FileName
Go

Я проверил, что сервер sql работаетпод системной учетной записью.Я могу вручную сделать резервную копию из sql management studio в нужную папку.Но если я запускаю свой сценарий как запрос в Management Studio, я получаю эту ошибку.

Я зашел в эту папку и установил разрешение безопасности, чтобы у учетной записи SYSTEM был полный доступ.Затем я перешел к планировщику задач и убедился, что мое запланированное задание (запуск пакета. Пакетный вызов .sql-файла, который содержит сценарий выше) было настроено для запуска в SYSTEM.Все еще ничего не копируется.

Кроме патчей Windows никто не перепутал машину.Что заставляет это просто перестать работать?Это экспресс-версия сервера sql, и, поскольку вы не можете создавать задания в экспресс-версии, как настоящая, мне нужно использовать двухпакетную файловую систему, в которой одна выполняет резервное копирование, а другая - для очистки папки.

1 Ответ

0 голосов
/ 24 августа 2011

Оказалось, что это проблема с путем, которого больше не существует. Моя задача называется партией, партия называется скриптом .sql. Я забыл обновить путь в сценарии sql, хотя я и запомнил это в моем пакетном файле.

...