以下问题帮助我解决了执行位于文件中的多个SQL脚本的问题。 Run all SQL files in a directory 但是,我没有得到如何将输出重定向到单独的日志文件。有人建议使用以下脚本,但由于我不理解它,它不起作用,我无法找出错误。
for %f in (*.sql) do sqlcmd /S <servername> /d <dbname> /E /i "%f" >> sql.log 2>&1)
如果您需要输出到一个公共文件,那么您应该使用@Abhishek的答案。
如果您需要输出到每个输入sql文件的单独日志文件中,那么您可以使用-o
命令的sqlcmd
参数。您的bat
文件可能如下所示:
for %%G in (*.sql) do sqlcmd /S <servername> /d <dbname> -E -i"%%G" -o C:\logs\%%G.log
pause
在这种情况下
1.SQL
2.SQL
你会得到:
1.sql.log
2.sql.log