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