根據發出命令之使用者的系統管理許可權,XML for Analysis (XMLA) 中的 Cancel 命令可以取消會話、會話、連線、伺服器進程或相關聯的會話或連線上的命令。
取消指令
用戶可以藉由傳送 Cancel 沒有指定屬性的命令,取消目前明確會話內容中的目前執行命令。
備註
用戶無法取消在隱含會話中執行的命令。
取消 Batch 命令
如果使用者取消 Batch 命令,則會取消命令中 Batch 尚未執行的所有剩餘命令。
Batch如果命令是交易式命令,則會復原在命令執行之前Cancel執行的任何命令。
取消工作階段
藉由在命令的 SessionID 屬性 Cancel 中指定明確工作階段的工作階段識別碼,資料庫管理員或伺服器管理員可以取消工作階段,包括目前執行的命令。 資料庫管理員只能取消其具有系統管理許可權之資料庫的會話。
資料庫管理員可以擷取DISCOVER_SESSIONS架構數據列集,以擷取指定資料庫的使用中會話。 若要擷取DISCOVER_SESSIONS架構數據列集,資料庫管理員會使用 XMLA Discover 方法,並在方法的 Restrictions 屬性 Discover 中指定SESSION_CURRENT_DATABASE限制數據行的適當資料庫標識符。
取消連線
藉由在命令的 CancelConnectionID 屬性中指定連接標識碼,伺服器管理員可以取消與指定連接相關聯的所有會話,包括所有執行中的命令,以及取消連接。
備註
如果 MicrosoftSQL ServerAnalysis Services 的實例找不到並取消與連線相關聯的會話,例如當數據幫浦在提供 HTTP 連線時開啟多個會話時,實例就無法取消連線。 如果在命令執行 Cancel 期間遇到此情況,就會發生錯誤。
伺服器管理員可以使用 XMLA Discover 方法來擷取DISCOVER_CONNECTIONS架構數據列集,以擷取 Analysis Services 實例的作用中連線。
取消伺服器進程
藉由在命令的 Cancel SPID屬性中指定伺服器進程識別碼 (SPID),伺服器管理員可以取消與指定SPID相關聯的命令。
取消相關聯的會話和連線
您可以將 CancelAssociated 屬性設定為 true,以取消與命令中所 Cancel 指定連接、會話或 SPID 相關聯的連線、工作階段和命令。