取消命令 (XMLA)
根据发出命令的用户的管理权限,XML for Analysis (XMLA) 中的 Cancel 命令可以取消会话、会话、连接、服务器进程或关联的会话或连接上的命令。
取消命令
用户可以通过发送没有指定属性的 Cancel 命令来取消当前显式会话上下文中的当前执行命令。
注意
用户不能取消隐式会话中正在运行的命令。
取消 Batch 命令
如果用户取消 Batch 命令,则会取消 Batch 命令中尚未执行的所有剩余命令。 如果 Batch 命令是事务性的,则 回滚取消 命令运行之前执行的任何命令。
取消会话
通过在 Cancel 命令的 SessionID 属性中为显式会话指定会话标识符,数据库管理员或服务器管理员可以取消会话,包括当前执行的命令。 数据库管理员只能取消其拥有管理权限的数据库的会话。
数据库管理员可以通过检索 DISCOVER_SESSIONS 架构行集来检索指定数据库的活动会话。 若要检索DISCOVER_SESSIONS架构行集,数据库管理员使用 XMLA Discover 方法,并为 Discover 方法的限制属性中的SESSION_CURRENT_DATABASE限制列指定适当的数据库标识符。
取消连接
通过在 Cancel 命令的 ConnectionID 属性中指定连接标识符,服务器管理员可以取消与给定连接关联的所有会话,包括所有正在运行的命令,并取消连接。
注意
如果 MicrosoftSQL ServerSQL Server Analysis Services 的实例找不到和取消与连接关联的会话,例如,当数据泵在提供 HTTP 连接时打开多个会话时,实例无法取消连接。 如果在 执行 Cancel 命令期间遇到此情况,则会发生错误。
服务器管理员可以通过使用 XMLA Discover 方法检索DISCOVER_CONNECTIONS架构行集来检索SQL Server Analysis Services实例的活动连接。
取消服务器进程
通过在 Cancel 命令的 SPID 属性中指定服务器进程标识符 (SPID) ,服务器管理员可以取消与给定 SPID 关联的命令。
取消关联的会话和连接
可以将 CancelAssociated 属性设置为 true,以取消与 Cancel 命令中指定的连接、会话或 SPID 关联的连接、会话和命令。