Как скопировать файл резервной копии базы данных на другой сервер в задании агента SQL Server - PullRequest
0 голосов
/ 27 ноября 2018

Я понимаю, что, возможно, мне не хватает чего-то простого, но я не могу понять это.

Если я использую следующую команду «копировать» в командном файле на целевом сервере, она работает нормально.Однако, если я добавлю его на шаге в задании агента SQL Server, который выполняет резервное копирование, я получу синтаксическую ошибку.Итак, что я делаю не так?Кажется, что он может застрять на "/" в параметре "/ y", но я хочу, чтобы он перезаписал существующий файл.

copy /y "\\DBServer\c$\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\db_daily.bak" "\\DESTINATION\\db\db_daily.bak"

Ошибка:

Incorrect syntax near '/'.  [SQLSTATE 42000] (Error 102).  The step failed.

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

1 Ответ

0 голосов
/ 27 ноября 2018

Убедитесь, что ваш шаг был создан как Тип "Операционная система (Cmd Exec)", а не как транзакция sql.

Или используйте XP xp_cmdshell

   exec xp_cmdshell 'copy /y "\\DBServer\c$\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\db_daily.bak" "\\DESTINATION\\db\db_daily.bak"' 

Обратите внимание, что вам может потребоваться включитьxp_cmdshell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...