Выполнение файлов sql автоматически - PullRequest
1 голос
/ 30 декабря 2010

Предположим, у меня есть 100 файлов sql, и мне нужно выполнить все файлы по очереди. Есть ли способ сделать это без выполнения сценариев вручную?

Ответы [ 6 ]

3 голосов
/ 30 декабря 2010

Вы можете написать bat-файл для их выполнения, используя sqlcmd Utility

1 голос
/ 30 декабря 2010

Вы можете использовать PowerShell для этого.Следующий пост в блоге описывает такой сценарий.Как часть foreach, труба используется для сортировки файлов так, как вы хотите их обработать.В этом примере он сортируется по убыванию алфавитного имени файла, но вы также можете сделать это по другим атрибутам, таким как дата создания файла.

Также в следующем сообщении в блоге описываетсякак запустить все файлы .sql в каталоге, как указано выше, но без использования PowerShell

1 голос
/ 30 декабря 2010
  • Передать вывод dir /b > foo.txt в файл
  • Добавить sqlcmd в начале каждой строки и т. Д., Используя приличный текстовый редактор, такой как notepad ++
1 голос
/ 30 декабря 2010

Мы добились большого успеха с помощью инструмента SQL Deploy от SSW Australia.

alt text

Это не бесплатно - но стоит каждой копейки и экономит столько времени, оно окупается в кратчайшие сроки!

(У меня нет никаких связей с SSW Australia, за исключением того, что я счастливый пользователь SQL Deploy)

1 голос
/ 30 декабря 2010

Напишите сценарий оболочки или аналогичный для запуска их последовательно.

0 голосов
/ 30 декабря 2010

Предполагается, что ваши файлы названы примерно так:

001_my_script.sql
002_another_script.sql
003_foo_script.sql
004_bar_script.sql

В командной строке вы можете сделать следующее:

copy *.sql /a my_big_script.sql

И затем запустите полученный файл как один сценарий (через sqlcmd или Management Studio).

...