tfs - 如何在 TFS 中使用命令行任务在发布期间备份 SQL 数据库?
问题描述
我希望使用命令行任务备份 SQL 数据库作为我的 TFS 版本中的一个步骤,如下所示:
工具:SqlCmd
参数: -U用户名-P密码-S sqlserver\instance –Q "BACKUP DATABASE [ mydatabase ] TO DISK=' X:\SomePath\mydatabase.bak ' WITH COPY_ONLY"
如果我复制/粘贴并在命令窗口中运行它,则输出到 TFS 日志中的结果命令有效。
但是由于某种原因,TFS 在尝试执行命令时会抛出错误。
这是日志信息:
2018-06-22T02:45:02.1384055Z ##[command]SqlCmd -U用户名-P 密码-S sqlserver\instance –Q "备份数据库 [ mydatabase ] TO DISK=' X:\SomePath\mydatabase.bak ' WITH COPY_ONLY "
2018-06-22T02:45:02.2009053Z Sqlcmd:'-Q“备份数据库 [ABS-dev] 到磁盘 ='D:\SQLBACKUP\ABS-dev_Release.bak' WITH COPY_ONLY':意外参数。输入“-?” 寻求帮助。2018-06-22T02:45:02.2634060Z
[错误]进程完成,退出代码为 1。
我想知道是否有一个线索是指示错误的行没有用双引号终止,并且已经尝试过在查询段周围添加额外的双引号,但到目前为止还没有运气。
有任何想法吗?
解决方案
您可以尝试下面的参数,使用/Q
而不是-Q
:
-U username -P password -S sqlserver\instance /Q "BACKUP DATABASE [mydatabase] TO DISK='X:\SomePath\mydatabase.bak' WITH COPY_ONLY"
推荐阅读
- matplotlib - 如何在 Python 中调试“IndexError:标量变量的无效索引”错误?
- javascript - 无法在反应组件内的 html 中打印 javascript 变量文本
- java - 如何在休息控制器后面解压缩大文件
- neo4j - 在 Neo4j 中使用 collect 时,记录字段已被截断
- matplotlib - 如何反转 matpotlib 中的颜色条值?
- ios - 使用证书的邮递员中的 APNS 设置
- javascript - 如何在 JS 中遍历一个复杂的对象
- android - 在 recyclerview 中实现 facebook 横幅广告
- python - 函数不返回结果的Python代码
- docker - 使用 journald 日志记录驱动程序破坏 kubernetes pod 日志记录