Сегодня я вернулся к машине, чтобы поработать на ней, и заметил, что мои командные файлы больше не могут создавать резервные копии моей базы данных с помощью команды резервного копирования базы данных.
Сервер 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, и, поскольку вы не можете создавать задания в экспресс-версии, как настоящая, мне нужно использовать двухпакетную файловую систему, в которой одна выполняет резервное копирование, а другая - для очистки папки.