2015-09-01 1 views
1

Я использую проект базы данных SQL-сервера. Для развертывания файла .dacpac я использую SqlPackage.exe с аргументами командной строки.Как я могу создать журнал для сценария пост-развертывания в dacpac?

Использование Action: DriftReport, я могу создать журнал (добавлено/обновлено/изменено) объектов. Но тем не менее я не могу создать журнал для сценария пост-развертывания (работа, такая как вставка, обновление и т. Д.).

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

+1

Вы пытались подключить вывод к файлу? Это даст вам кое-что. Однако, чтобы по-настоящему поймать все, вы захотите закодировать его вручную. –

+0

Я попытался сохранить вывод командной строки, который будет показан после выполнения команды execute для публикации. Если какой-либо пост-сценарий развертывания не удался, он отобразится на консоли. –

ответ

2

То, что я сделал для достижения этого, примерно такое же, как комментарий Питера. Я получил пакетный файл что-то, как следовать

sqlpackage.exe /a:publish /tcs:"the connection string" /sf:".\package.dacpac" >"%1" 2>"%2" 
FOR %%A IN ("%2") DO SET FileSize=%%~zA 
if %FileSize% gtr 0 start notepad "%2" 

Тогда я побежал бы партию как:

thebatch.bat result.txt error_result.text 

Идея была перенаправить вывод этой команды консоли в файл «Result.txt» (с помощью «>») и перенаправить сообщение об ошибке в «error_result.text» (используя «2>»), а затем полагаться на% ~ z в пакетном файле, чтобы получить размер файла и открыть файл, только если что-то пошло не так.

+1

У Саймона все в порядке, нужно отметить «>» и «2>», так как вам нужно перенаправить как stdout, так и stderr, чтобы получить все сообщения. –

Смежные вопросы