需要sql命令自动执行批处理文件中的每一行

时间:2013-08-08 18:42:03

标签: sql sql-server batch-file cmd sqlcmd

尝试设置批处理文件以自动执行sql命令。可以手动输入,但无法弄清楚如何让它自己运行每一行。 这就是我所拥有的(需要自动设置sa用户:

sqlcmd -E
EXEC sp_password NULL, 'newpassword', 'sa' -b
go

还试过osql而且没什么。尝试了不同的选择,没有运气。 提前谢谢!

2 个答案:

答案 0 :(得分:0)

什么操作系统? OSQL已旧并且已弃用。这应该让你选择现代操作系统(未经测试)。

@ECHO OFF
SQLCMD /? > nul 2> nul
IF ERRORLEVEL 1 (
   ECHO.SQLCMD not found on this machine.  This program will now exit.
   PAUSE
   GOTO :eof
   )

REM add -h-1 if you don't want header
REM Remove REM below for SA
REM  SET SQLCmdLine=SQLCMD -B -W400 -U "YourUserName" -P "YourPassword" -S "YourServer" -D "YourDatabase" 
REM Remove REM below for Windows Auth
REM SET SQLCmdLine=SQLCMD -B -w400 -E -S "YourServer" -D "YourDatabase"   

REM Now you can do stuff like
REM %SQLCmdLine% -Q "SELECT * FROM.....

答案 1 :(得分:0)

想出它链接到一个sql文件。

reset.bat文件:

sqlcmd -E -i C:\reset_sa_pw.sql

reset_sa_pw.sql(位于C的根目录)文件:

EXEC sp_password NULL, 'newpassword', 'sa'
go

感谢大家的帮助!