微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么powershell会忽略Invoke-DbaQuery的queryTimeout参数并无限期挂起?

如何解决为什么powershell会忽略Invoke-DbaQuery的queryTimeout参数并无限期挂起?

我有一个相当简单的 Powershell 脚本,它作为 Bamboo 部署的一部分运行,其中包括调用 Invoke-DbaQuery 以针对数据库运行 sql 脚本。

一个错误脚本的事件导致我们的部署挂起几个小时后,我试图实现一个超时,我希望它会导致 Invoke-DbaQuery 失败,从而导致脚本失败,同样的 Bamboo 部署之后一定的时间。

然而,Powershell 似乎忽略了 Invoke-DbaQuery 的 -queryTimeout 参数。运行以下命令调用故意长时间运行的脚本和任意短的超时,查询在超时后继续执行数小时。

为了消除变量,我使用 sql 实例直接在服务器上的 Powershell 上进行测试。

$path = "c:\somescript.sql"
$server = "localhost"
Invoke-DbaQuery -file $path -sqlInstance $server -Database MyDatabase -QueryTimeout 30

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。