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.
答案 0 :(得分:0)
问题在于您如何使用sqlcmd
实用程序。
指定内联查询时,应在其前面加-q
或-Q
参数。前者指示实用程序只执行查询(并保留在sqlcmd
shell中),而后者另外导致实用程序在执行后退出,这可能就是你需要的。
因此,要解决此问题,请修改命令行,如下所示:
sqlcmd -S servername\sqldeveloper -E -Q "EXEC sp_BackupDatabases …"
还有另一个潜在的问题,除非它只是在向问题添加命令时所做的拼写错误。它是关于myDatabase
周围的“卷曲”引号:它们可能需要替换为直线引号(’myDatabase’
- > 'myDatabase'
),否则名称可能无法被识别。
您可以在命令提示符下运行sqlcmd -?
以熟悉(或提醒自己)如何正确使用各种sqlcmd
选项。您还可以在MSDN上阅读有关该实用程序的信息,例如: here