Вот как я это делаю.
Сначала создайте нужный сценарий SQL и сохраните его в виде простого текстового файла.
Далее, используйте SQLCMD (или OSQL или, извините за мысль, ISQL) для вызова этого файла, что-то вроде этого:
SQLCMD -S %1 -E -b -h-1 -I -d tempdb -i BulkDeploy.txt > BulkDeploy_%DateString%.txt
Где:
- S указывает сервер экземпляра SQL (здесь, указанный в первом параметре пакета)
- E использовать проверку подлинности NT
- b если SQL обнаружит ошибку, верните значение, которое пакет ERRORLEVEL может получить и обработать
- h-1 не возвращает строк заголовка (если возвращаются наборы данных)
- Я включил QUOTED_IDENTIFIER (у меня это взорвалось один раз , я забыл, как и почему, и с тех пор я включил его)
- d для подключения к
- я выполняю следующий скрипт и завершаю работу
- > направляет любой вывод в указанный файл для последующей обработки
SQLCMD et. и др. есть много параметров, проверьте их в Books Online. Дополнительные тонкости могут быть достигнуты с помощью параметров партии.