我用sqlcmd做一些命令行批处理(.bat):
sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYDATABASE
我需要一个输出文件(它当前正在工作),并且输出也会在屏幕上执行以下操作:
@echo off
echo The result of the query was:
sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYDATABASE
pause
CHOICE /C:YN /M "Is the result accord?"
IF ERRORLEVEL 2 GOTO ENDWITHERROR
IF ERRORLEVEL 1 GOTO STEP2
注意:
非常感谢!
无回答的类似问题: How to run a sql script file using sqlcmd and output to both shell and file
答案 0 :(得分:2)
我也找不到更好的方法然后@Sparky提出。以下代码添加了他的建议:
@echo off
:: this will execute the script into PROCESS.log
sqlcmd -i Scripts\STEP01.sql -o PROCESS.log -S MYSERVER -E -d MYDATABASE
:: this present the contents of PROCESS.log to the screen
echo The result of the query was:
type PROCESS.log
pause
CHOICE /C:YN /M "Is the result accord?"
IF ERRORLEVEL 2 GOTO ENDWITHERROR
IF ERRORLEVEL 1 GOTO STEP2
答案 1 :(得分:0)
如果您愿意,可以使用powershell,并使用以下内容:
sqlcmd -i Scripts\STEP01.sql -S SERVER -E -d MYDB | Tee-Object -file "PROCESS.log"
来自Microsoft的更多信息