gpt4 book ai didi

powershell - 在调用osql或sqlcmd时使用powershell $ LastExitCode -1073741502

转载 作者:行者123 更新时间:2023-12-02 04:03:50 27 4
gpt4 key购买 nike

我已经编写了一个Powershell脚本来调用sqlcmd.exe以对远程sql服务器执行sql脚本。 Powershell脚本检查$ LASTEXITCODE。如果$ LASTEXITCODE不为零,则抛出“脚本失败。返回码为$ LASTEXITCODE。”

该脚本被多次使用以执行不同的sql脚本,并且是部署期间运行的Powershell脚本链的一部分。

The script runs fine most of the time but randomly fails with a return code of -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脚本将执行OK一段时间,然后失败。

在许多不同的工作站和服务器(Win7,Win2003和Win2008)上也看到了相同的故障。

任何有关如何跟踪此问题的指导将不胜感激。

最佳答案

如果您使用的是Powershell,请不要使用sqlcmd和命令行!

V2中有非常好的内置工具,可以使您与SQL Server进行更强大的交互,并且不需要您解析返回代码的文本来检查错误-它们实际上返回正确的错误代码。

Here's a technet article on Invoke-SQLCmd

请记住,您需要先加载管理单元:

Add-PSSnapin SqlServerProviderSnapin100
Add-PSSnapin SqlServerCmdletSnapin100

关于powershell - 在调用osql或sqlcmd时使用powershell $ LastExitCode -1073741502,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8728137/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com