Запустите все файлы SQL в каталоге


У меня есть ряд .sql-файлы, которые я должен запустить, чтобы применить изменения, сделанные другими разработчиками в базе данных SQL Server 2005. Имена файлов задаются в соответствии со следующим шаблоном:

0001 - abc.sql
0002 - abcef.sql
0003 - abc.sql
...

есть ли способ запустить все из них за один раз?

4 97

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"
  1. в среде SQL Management Studio откройте новый запрос и введите все файлы, как показано ниже

    :r c:\Scripts\script1.sql
    :r c:\Scripts\script2.sql
    :r c:\Scripts\script3.sql
    
  2. перейдите в меню запрос в среде SQL Management Studio и убедитесь, что включен режим SQLCMD
  3. нажмите на режим SQLCMD; файлы будут выбраны серым цветом, как показано ниже

    :r c:\Scripts\script1.sql
    :r c:\Scripts\script2.sql
    :r c:\Scripts\script3.sql
    
  4. Теперь выполнить

убедитесь, что программа SQLCMD включена, щелкнув параметр запрос > режим SQLCMD в среде Management studio.

  1. Предположим, у вас есть четыре .файлы sql (script1.sql,script2.sql,script3.sql,script4.sql) в папке c:\scripts.

  2. создать основной файл скрипта (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 сам по себе.

  3. создайте пакетный файл с именем ExecuteScripts.bat С следующее:

    SQLCMD -E -d<YourDatabaseName> -ic:\Scripts\Main.sql
    PAUSE
    

    Не забудьте заменить <YourDatabaseName> С базы данных, которую вы хотите выполнить скрипты. Например, если база данных является "Employee", команда будет следующей:

    SQLCMD -E -dEmployee -ic:\Scripts\Main.sql
    PAUSE
    
  4. выполните пакетный файл, дважды щелкнув то же самое.