У меня есть скрипт powershell, который выполняет сценарии sql из заданной папки. Это работает, но в случае ошибки я не вижу причину ошибки. В некоторых случаях отображается ошибка, когда сам PowerShell выдает ошибку. Но когда это более простой сбой, такой как конфликт первичного ключа, ошибка не отображается.
Я пробовал это следующим образом, но это не работает при использовании параметра "-InputFile". Заменив это параметром "-Query", вы увидите ошибку.
try
{
sqlps Invoke-Sqlcmd -ServerInstance "$dbInstance" -Database "$dbName" -InputFile "$updateScriptsFolder\$updateSql" -username $username -password $password -ErrorAction 'Stop' -Verbose -OutputSqlErrors 1
}
catch
{
Write-Host "Error while executing $updateScriptsFolder\$updateSql" -foregroundcolor red
Write-Host $error -foregroundcolor red
}
Единственное решение на данный момент - добавить обработку ошибок в каждый скрипт sql. Но очень вероятно, что разработчики забывают добавить обработку ошибок в свой скрипт. Я хочу более общую обработку ошибок. Кто-нибудь может помочь?
Спасибо,
Michael