Invoke-Sqlcmd2不会因错误

时间:2016-10-30 05:11:13

标签: sql powershell invoke-sqlcmd

有没有办法让函数Invoke-Sqlcmd2在失败时不终止其余的脚本?

即使此命令失败,我希望我的其余脚本继续运行。

我已经挖掘了代码,我的想法是它与-ErrorAction参数有关。

以下是剧本的第488行:

Catch # For other exception
{
    Write-Verbose "Capture Other Error"  

    $Err = $_

    if ($PSBoundParameters.Verbose) {Write-Verbose "Other Error:  $Err"} 

    switch ($ErrorActionPreference.tostring())
    {
        {'SilentlyContinue','Ignore' -contains $_} {}
        'Stop' {     Throw $Err} # Removing this line doesn't work
        'Continue' { Throw $Err}
        Default {    Throw $Err}
    }
}

有关如何让此命令无法终止'

的任何想法

解决方案: 谢谢(你的)信息。我最终在一个try-catch陷阱中包装了invoke-sqlcmd2的错误处理部分。

1 个答案:

答案 0 :(得分:0)

将Invoke-SQLCMD2置于try catch块中,并记录引发的错误。 这样你就可以处理错误了,脚本就会继续。