Способ выполнения нескольких файлов .sql одновременно в SQL Server - PullRequest
3 голосов
/ 14 июня 2011

У меня есть около 100 файлов .sql, которые создают хранимые процедуры.Я хотел бы выполнить их все сразу.

Они содержатся в папке с именем Stored Procedures.В папке Stored Procedures есть несколько других папок с разными именами - Table names.

Есть ли способ выполнить все эти файлы одновременно?

Ответы [ 3 ]

3 голосов
/ 14 июня 2011

Вы можете открыть экземпляр PowerShell и выполнить команду, подобную следующей:

Get-ChildItem ".\Stored Procedures\*.sql" | ForEach-Object { sqlcmd -S ServerName -d DatabaseName -E -i $_.FullName }

Это позволит получить каждый файл .sql в каталоге хранимых процедур и по очереди передать егопрограмма sqlcmd.exe.Чтобы получить более подробную информацию о параметрах для sqlcmd, вы можете запустить sqlcmd /?.

Чтобы сделать его рекурсивным по подкаталогам, вы можете применить параметр -Recurse к Get-ChildItem вместе с параметром -Filter:

Get-ChildItem '.\Stored Procedures' -Filter *.sql -Recurse | ForEach-Object { sqlcmd -S ServerName -d DatabaseName -E -i $_.FullName }
2 голосов
/ 14 июня 2011

Вот еще один инструмент Sql_Server_Script_Executor

Есть ли способ выполнить все эти файлы одновременно?

* Вы можете добавить папку, и все ваши файлы появятся в списке.Нажмите кнопку «Выполнить» и все готово !!!!!!!!!!!!!*

Он содержит три режима транзакций.

1. Execute scripts within one transaction
2. Execute scripts on separate transaction
3. No transaction

и многие другие функции, пожалуйста, пройдите через него.

enter image description here

1 голос
/ 14 июня 2011

Не сразу - но все сразу - попробуйте такой инструмент, как SSW Deploy one.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...