Azure SQL 数据仓库上 KILL 'SID' 的替代方案

Alternative to KILL 'SID' on Azure SQL Data Warehouse

如果我提交了一系列 SQL 语句(每个语句在 sqlcmd 中都有 GO),我想对 运行 进行合理的尝试Azure SQL 数据仓库,我在 sqlcmd 中找到了如何忽略错误。但是我已经看到我是否想中止该语句序列中的语句:

KILL "SIDxxxxxxx"; 

全场结束:

 Msg 111202, Level 16, State 1, Server adws_database, Line 1
 111202;Query QIDyyyyyyyyyy has been cancelled.

有没有办法在 Azure SQL 数据仓库中不结束查询会话?类似于postgres的 pg_cancel_backend() 有效吗?

在 postgres 中

pg_terminate_backed(<pid>) 

似乎与 ADW 的工作方式类似

KILL 'SIDxxxx' 

命令。

是的,客户端可以在不中止整个会话的情况下取消 运行 请求。在 SSMS 中,这是红色方块在查询执行期间所做的。

Sqlcmd 没有公开任何取消 运行 请求的方法。其他客户端接口也可以,例如您可以使用 SqlCommand.Cancel()

的 .NET SqlClient

大卫