2010-02-04 80 views
0

我有一个PowerShell脚本调用SQLCMD运行,备份数据库的SQL脚本:SQLCMD,从Powershell的调用时,返回的ExitCode == 1,即使成功

function RunSqlScriptWithErrorMessage 
{ 
    param([string]$sqlServer, [string]$sqlUserName, [string]$sqlPassword, [string]$scriptName, [string]$errorMessage) 

    $commandName = "sqlcmd" 
    $startInfo = New-Object Diagnostics.ProcessStartInfo($commandName) 
    $startInfo.UseShellExecute = $false 
    $startInfo.Arguments = "-S $sqlServer -U $sqlUserName -P $sqlPassword -i `"${sqlScriptName}`"" 
    $process = [Diagnostics.Process]::Start($startInfo) 
    $process.WaitForExit() 
    $exitCode = $process.ExitCode 
    if($exitCode -ne 0) { throw $errorMessage} 
} 

奇怪的是, process.ExitCode == 1即使备份成功。任何想法为什么会这样 - 如果成功,不应该将exitcode设为0?

谢谢!

回答

0

对不起 - 这是一个错误。

相关问题