为什么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 (将#修改为@)