我有大约100个.sql文件创建存储过程。我想立即执行它们全部。在SQL Server中一次执行几个.sql文件的方法
它们包含在名为Stored Procedures
的文件夹中。 Stored Procedures
文件夹中还有其他几个名称不同的文件夹 - 表格名称。
有没有办法一次执行所有这些文件?
我有大约100个.sql文件创建存储过程。我想立即执行它们全部。在SQL Server中一次执行几个.sql文件的方法
它们包含在名为Stored Procedures
的文件夹中。 Stored Procedures
文件夹中还有其他几个名称不同的文件夹 - 表格名称。
有没有办法一次执行所有这些文件?
这里是另一种工具Sql_Server_Script_Executor
有没有一次执行所有这些 文件的方法?
*您可以添加文件夹,所有的文件将出现在列表中。点击执行按钮并完成!!!!!!!!!!!!! *
它包含三种交易模式。
1. Execute scripts within one transaction
2. Execute scripts on separate transaction
3. No transaction
和更多的功能,请通过它。
不是立即 - 但一切都在一个 - 去尝试像SSW Deploy之一的工具。
听起来不错,但它不是免费的。 – Omar 2011-06-14 15:19:23
@tou:你没有要求免费 - 而且好的软件的成本 - 但它的价格是值得的 - SQL Deploy **是“”值得的价格 - 多次:-) – 2011-06-14 15:38:39
你可以打开一个PowerShell
实例并运行类似下面的命令:
Get-ChildItem ".\Stored Procedures\*.sql" | ForEach-Object { sqlcmd -S ServerName -d DatabaseName -E -i $_.FullName }
这将让你在存储过程目录中的每个.sql文件,并一个接一个,通它到sqlcmd.exe程序。要获得有关sqlcmd参数的更多详细信息,您可以运行sqlcmd /?
。
要让它通过子目录递归的,你可以用筛选参数沿-Recurse
参数适用于Get-ChildItem
:
Get-ChildItem '.\Stored Procedures' -Filter *.sql -Recurse | ForEach-Object { sqlcmd -S ServerName -d DatabaseName -E -i $_.FullName }
我结束了使用这个。它甚至还具有创建批处理命令的功能,所以您可以从命令行运行它。 – Omar 2011-06-14 15:08:57
太棒了! – Pankaj 2011-06-14 15:09:45