我想使用MS SQL Transact-SQL安排在每天的下午6点(周六和周日除外)运行脚本C:\script\my_script.sql
。
然后,将结果保存在文件夹C:\data\xxx.csv
中,其中xxx
是运行脚本的日期,例如2019-2-18
。
此外,如何删除计划任务?
我使用服务器代理,但无法查看文本。
非常感谢您。
答案 0 :(得分:1)
如果您不想更改现有设置,请使用带有SQLCMD的Windows Task Scheduler。
打开命令提示符窗口。
在“命令提示符”窗口中,键入:
sqlcmd -S myServer\instanceName -i C:\myScript.sql -o C:\EmpAdds.txt
按Enter。
您可以使用与此处相同的解决方案:create Scheduler task to invoke SQLCMD
您最好的选择是创建一个执行以下命令的控制台应用程序 SQL命令并执行电子邮件。
然后可以使用“任务计划程序”下的“设置任务”来使用“启动” 程序选项并按您希望的时间表运行
编辑:
要摆脱点缀线,请看这里:
Sqlcmd to generate file without dashed line under header, without row count
要删除列标题,应使用-h参数,其值为-1。 请参阅ref(“格式化选项”一节)。
或来自此帖子:
How to export data as CSV format from SQL Server using sqlcmd?
sqlcmd -S MyServer -d myDB -E -Q "select col1, col2, col3 from SomeTable" -o "MyData.csv" -h-1 -s"," -w 700
-h-1从结果中删除列名称标头
-s“,”将列分隔符设置为,
-w 700将行宽度设置为700个字符(此长度必须与最长的行一样宽,否则将换行到下一行)