如何使用批处理文件运行多个SQL脚本?

Wil*_*lem 14 sql sql-server batch-file sql-scripts

我有一个案例,我有10+ SQL script.

我不想一个接一个地运行我的所有脚本.

有没有办法可以连续运行我的所有脚本SQL Management studio.

我找到了这篇文章.创建批处理文件似乎更容易.

这就是你所需要的:

@echo off
ECHO %USERNAME% started the batch process at %TIME%  >output.txt


for %%f in (*.sql) do (
 (
sqlcmd.exe  -S servername -E   -d databasename -i %%f >>output.txt
)


pause
Run Code Online (Sandbox Code Playgroud)

替换servername和databasename,但似乎无法正常工作.

有任何想法吗?

小智 9

那里你有一个无与伦比的括号.尝试

for %% f in(*.sql)do sqlcmd.exe -S servername -E -d databasename -i %% f >> output.txt

我只是将它保存在.cmd文件中,它似乎正在工作.


Chu*_*ris 5

是的,这是可能的.你可以用:r命令来实现SQLCMD.

我强烈建议您阅读本文并进行操作 SQLCMD

http://www.mssqltips.com/sqlservertip/1543/using-sqlcmd-to-execute-multiple-sql-server-scripts/


小智 3

您可以创建一个存储过程来调用所有脚本。您还可以创建一个计划来自动运行脚本。

http://msdn.microsoft.com/en-us/library/aa174792(v=sql.80).aspx