自动执行sql文件

时间:2010-12-30 14:47:58

标签: sql sql-server file execute

假设我有100个sql文件,我需要按顺序逐个执行所有文件。有没有办法在手动执行脚本的情况下执行此操作?

6 个答案:

答案 0 :(得分:3)

您可以使用sqlcmd Utility

编写一个bat文件来执行它们

答案 1 :(得分:1)

编写shell脚本或类似脚本以顺序运行它们。

答案 2 :(得分:1)

我们使用SSW Australia的SQL Deploy工具取得了巨大成功。

alt text

这不是免费的 - 但值得每一分钱,并节省你这么多时间,它会立刻收回成本!

(除了成为SQL Deploy的用户之外,我与SSW Australia没有任何关系)

答案 3 :(得分:1)

  • dir /b > foo.txt输出管道传输到文件
  • 使用像notepad ++
  • 这样不错的文本编辑器在每行的开头添加sqlcmd

答案 4 :(得分:1)

您可以使用PowerShell执行此操作。以下blog post描述了这样的脚本。作为foreach的一部分,管道用于以您要处理它们的方式对文件进行排序。在此示例中,它按降序字母文件名进行排序,但您也可以通过其他属性(例如文件的创建日期)来进行排序。

以下blog post还介绍了如何在上面链接的帖子中运行所有.sql文件,但不使用PowerShell

答案 5 :(得分:0)

假设您的文件的名称如下:

001_my_script.sql
002_another_script.sql
003_foo_script.sql
004_bar_script.sql

您可以在命令行执行以下操作:

copy *.sql /a my_big_script.sql

然后将生成的文件作为一个脚本运行(通过sqlcmd或Management Studio)。