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