【发布时间】:2015-12-21 23:35:33
【问题描述】:
经过一番研究,我找到了将 sqlcmd 命令的输出附加到 csv 文件的解决方案。使用 Command Shell 时一切正常:
C:\temp>sqlcmd -S <SERVER> -d <DATABASE> -E -Q "SELECT [something] FROM [TableX] WHERE [columnY] IS NOT NULL;" -W -h-1 -s";" >>"<FULL_PATH_TO_CSV-FILE>"
我想通过使用 SQL Server 作业代理(使用与控制台相同的帐户)来安排这些东西,所以我添加了一个作业(类型 CmdExec)。作业执行失败并出现以下错误(意外参数):
融通 Ausgeführt als Benutzer:''[帐户]''。 Sqlcmd: '>>''[FULL_PATH_TO_CSV-FILE]'': Unerwartetes 参数。格本西'-? ein, um die Hilfe anzuzeigen。 Prozessexitcode 1. Fehler bei Schritt。
我的解决方法工作正常:删除 >>"<FULL_PATH_TO_CSV-FILE>" 并使用该步骤的输出文件。但是:我想将输出文件用于记录目的 - 而不是用于数据输出......
问题是:为什么“>>”命令在 SQL Server 代理作业中不起作用?
我不想简单地重定向输出。我知道 sqlcmd 为此提供了参数-o。在这种情况下,现有文件将被覆盖。这不是我想要的。
很遗憾,到目前为止我还没有发布截图的声誉。
非常感谢您!
最好的问候, 哥伦比亚特区
【问题讨论】:
标签: sql sql-server-2008 export-to-csv sqlcmd sql-job