我已经编写了一个PowerShell脚本来调用sqlcmd.exe针对远程SQL服务器执行SQL脚本。PowerShell脚本会检查$LASTEXITCODE。如果$LASTEXITCODE是非零值,我就会抛出“脚本失败。返回代码为$LASTEXITCODE。”的异常信息。
该脚本被多次使用以执行不同的SQL脚本,并且是部署期间运行的一系列PowerShell脚本的一部分。
引用块: 该脚本通常可以正常运行,但偶尔会以返回代码-1073741502的形式随机失败。
这种情况只发生在升级到SQL2008之后,我无法通过手动运行单个PowerShell脚本或手动运行SQL CMD脚本来重现它。
这是PowerShell命令:
引用块: &'sqlcmd.exe'-S $databaseServer-r-b-E-i'$scriptFullPath' if($LASTEXITCODE -ne 0) { throw "Script failed. Return code is $LASTEXITCODE." }
失败的看似随机性导致了很多困扰。我无法确定错误是否与SQL2008、SQLCMD(尽管我使用osql.exe时也会出现相同的行为)或某种方式与PowerShell耦合有关。
由于sqlcmd正在执行的实际SQL似乎与问题无关,因此SQL脚本将会执行一段时间然后失败。
在许多不同的工作站和服务器(Win7、Win2003和Win2008)上都看到了相同的故障。
非常感谢您提供有关如何跟踪此问题的任何指导。
该脚本被多次使用以执行不同的SQL脚本,并且是部署期间运行的一系列PowerShell脚本的一部分。
引用块: 该脚本通常可以正常运行,但偶尔会以返回代码-1073741502的形式随机失败。
这种情况只发生在升级到SQL2008之后,我无法通过手动运行单个PowerShell脚本或手动运行SQL CMD脚本来重现它。
这是PowerShell命令:
引用块: &'sqlcmd.exe'-S $databaseServer-r-b-E-i'$scriptFullPath' if($LASTEXITCODE -ne 0) { throw "Script failed. Return code is $LASTEXITCODE." }
失败的看似随机性导致了很多困扰。我无法确定错误是否与SQL2008、SQLCMD(尽管我使用osql.exe时也会出现相同的行为)或某种方式与PowerShell耦合有关。
由于sqlcmd正在执行的实际SQL似乎与问题无关,因此SQL脚本将会执行一段时间然后失败。
在许多不同的工作站和服务器(Win7、Win2003和Win2008)上都看到了相同的故障。
非常感谢您提供有关如何跟踪此问题的任何指导。