Запустите все файлы SQL в каталоге
У меня есть ряд .sql-файлы, которые я должен запустить, чтобы применить изменения, сделанные другими разработчиками в базе данных SQL Server 2005. Имена файлов задаются в соответствии со следующим шаблоном:
0001 - abc.sql
0002 - abcef.sql
0003 - abc.sql
...
есть ли способ запустить все из них за один раз?
4 ответа:
создать a .BAT-файл со следующей командой:
for %%G in (*.sql) do sqlcmd /S servername /d databaseName -E -i"%%G" pause
место это .BAT файл в каталоге, из которого вы хотите .SQL файлы для выполнения, дважды щелкните .Летучая мышь файл, и вы сделали!
использовать на. Из командной строки:
c:\>for %f in (*.sql) do sqlcmd /S <servername> /d <dbname> /E /i "%f"
в среде SQL Management Studio откройте новый запрос и введите все файлы, как показано ниже
:r c:\Scripts\script1.sql :r c:\Scripts\script2.sql :r c:\Scripts\script3.sql
- перейдите в меню запрос в среде SQL Management Studio и убедитесь, что включен режим SQLCMD
нажмите на режим SQLCMD; файлы будут выбраны серым цветом, как показано ниже
:r c:\Scripts\script1.sql :r c:\Scripts\script2.sql :r c:\Scripts\script3.sql
- Теперь выполнить
убедитесь, что программа SQLCMD включена, щелкнув параметр запрос > режим SQLCMD в среде Management studio.
Предположим, у вас есть четыре .файлы sql (
script1.sql,script2.sql,script3.sql,script4.sql
) в папкеc:\scripts
.создать основной файл скрипта (Main.sql) со следующим:
:r c:\Scripts\script1.sql :r c:\Scripts\script2.sql :r c:\Scripts\script3.sql :r c:\Scripts\script4.sql
сохранить основной.sql in c:\scripts сам по себе.
создайте пакетный файл с именем
ExecuteScripts.bat
С следующее:SQLCMD -E -d<YourDatabaseName> -ic:\Scripts\Main.sql PAUSE
Не забудьте заменить
<YourDatabaseName>
С базы данных, которую вы хотите выполнить скрипты. Например, если база данных является "Employee", команда будет следующей:SQLCMD -E -dEmployee -ic:\Scripts\Main.sql PAUSE
выполните пакетный файл, дважды щелкнув то же самое.