繁体   English   中英

如何在SQL Server代理作业中将数据库备份文件复制到另一台服务器

[英]How to copy a database backup file to another server in SQL Server Agent job

我意识到我可能缺少一些简单的东西,但是我无法弄清楚。

如果我在目标服务器上的批处理文件中使用以下“复制”命令,则可以正常工作。 但是,如果在执行备份的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.

我完全删除了/ y并尝试了所有我能想到的。 任何帮助将非常感激。

确保您的步骤创建为“操作系统类型(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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM