运行预定作业时出现批处理文件错误

时间:2013-09-17 06:52:14

标签: sql-server-2008 sqlcmd

sqlcmd -S servername\sqldeveloper -E "EXEC sp_BackupDatabases @databaseName=’myDatabase’ , @backupType='F', @backupLocation='D:\Backup\'"

这是我对备份数据库的批处理文件查询。 但是当我运行它时会发出以下错误:

'EXEC sp_BackupDatabases @databaseName=’myDatabase’ , @backupType='F', @backupLocation='D:\Backup\'': Unexpected argument.

1 个答案:

答案 0 :(得分:0)

问题在于您如何使用sqlcmd实用程序。

指定内联查询时,应在其前面加-q-Q参数。前者指示实用程序只执行查询(并保留在sqlcmd shell中),而后者另外导致实用程序在执行后退出,这可能就是你需要的。

因此,要解决此问题,请修改命令行,如下所示:

sqlcmd -S servername\sqldeveloper -E -Q "EXEC sp_BackupDatabases …"

还有另一个潜在的问题,除非它只是在向问题添加命令时所做的拼写错误。它是关于myDatabase周围的“卷曲”引号:它们可能需要替换为直线引号(’myDatabase’ - > 'myDatabase'),否则名称可能无法被识别。

您可以在命令提示符下运行sqlcmd -?以熟悉(或提醒自己)如何正确使用各种sqlcmd选项。您还可以在MSDN上阅读有关该实用程序的信息,例如: here