Ответ 1
Вы можете создать Strored Procedure для вызова всех ваших скриптов. Вы также можете создать план расписания для автоматического запуска скриптов.
http://msdn.microsoft.com/en-us/library/aa174792(v=sql.80).aspx
У меня есть случай, когда у меня есть SQL script
10+.
Я не хочу идти и запускать все мои сценарии 1 к 1.
Есть ли способ, которым я могу запускать все мои сценарии подряд в 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
Замените имя сервера и имя_базы, но он, похоже, не работает.
Есть идеи?
Вы можете создать Strored Procedure для вызова всех ваших скриптов. Вы также можете создать план расписания для автоматического запуска скриптов.
http://msdn.microsoft.com/en-us/library/aa174792(v=sql.80).aspx
У вас есть непревзойденная скобка. Пытаться
for %% f in (*.sql) do sqlcmd.exe -S имя_сервера -E -d databasename -i %% f >> output.txt
Я просто сохранил его в файле.cmd и, похоже, работает.
Да, это возможно. Вы можете сделать это с помощью команды r из SQLCMD
.
Я настоятельно рекомендую вам прочитать эту статью и сделать это с помощью SQLCMD
http://www.mssqltips.com/sqlservertip/1543/using-sqlcmd-to-execute-multiple-sql-server-scripts/
Вот утилита с открытым исходным кодом с исходным кодом http://scriptzrunner.codeplex.com/
Эта утилита была написана на С# и позволяет перетаскивать много файлов sql и запускать их в базе данных.
Вероятно, вы уже это знаете, на случай, если вы этого не сделаете, сценарий, который вы опубликовали, будет запускаться только на машинах, на которых установлен SQL-сервер.
Некоторые пакетные трюки
cd %~dp0 //use this if you use 'for xxx in', it solved most of my problems
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
)
echo %errorlevel%
pause
Вы можете использовать надстройку Batch Compiler для SMSS, он позволяет запускать сразу несколько сценариев, создавать сценарии SQLCMD или объединять их в файл *.sql.