我有大約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