【发布时间】:2011-01-12 21:29:21
【问题描述】:
我有一个调用 sqlcmd 来运行备份数据库的 sql 脚本的 Powershell 脚本:
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 即使备份成功了。任何想法为什么会这样 - 如果成功,退出代码不应该为 0 吗?
谢谢!
【问题讨论】:
标签: sql sql-server windows powershell scripting