コマンドのキャンセル (XMLA)

コマンドを発行するユーザーの管理アクセス許可によっては、XML for Analysis (XMLA) の Cancel コマンドを使用して、セッション、セッション、接続、サーバープロセス、または関連付けられたセッションまたは接続に対してコマンドを取り消すことができます。

コマンドのキャンセル

ユーザーは、指定されたプロパティを指定せずに cancel コマンドを送信することにより、現在の明示的なセッションのコンテキスト内で現在実行中のコマンドを取り消すことができます。

注意

暗黙のセッション内で実行中のコマンドは、ユーザー操作によって取り消すことはできません。

バッチ コマンドのキャンセル

ユーザーが バッチ コマンドをキャンセルした場合、 batch コマンド内でまだ実行されていない残りのすべてのコマンドは取り消されます。 バッチコマンドがトランザクションであった場合、 Cancelコマンドの実行前に実行されたすべてのコマンドがロールバックされます。

セッションのキャンセル

CancelコマンドのSessionIDプロパティに明示的なセッションのセッション識別子を指定することによって、データベース管理者またはサーバー管理者は、現在実行中のコマンドを含め、セッションを取り消すことができます。 データベース管理者は、自分が管理権限を持つデータベースに対するセッションだけをキャンセルできます。

データベース管理者は、DISCOVER_SESSIONS スキーマ行セットを取得することにより、指定されたデータベースに対するアクティブ セッションを取得することができます。 データベース管理者は、DISCOVER_SESSIONS スキーマ行セットを取得するために、XMLA discoverメソッドを使用して、 discoverメソッドのrestriction プロパティのSESSION_CURRENT_DATABASE restriction 列に適切なデータベース識別子を指定します。

接続のキャンセル

サーバー管理者は、 CancelコマンドのConnectionIDプロパティに接続識別子を指定することによって、実行中のすべてのコマンドを含め、特定の接続に関連付けられているすべてのセッションをキャンセルし、接続を取り消すことができます。

注意

Microsoft Sql server Analysis Services のインスタンスが、接続に関連付けられているセッションを見つけてキャンセルできない場合 (HTTP 接続を提供している間にデータポンプが複数のセッションを開いた場合など)、インスタンスは接続を取り消すことができません。 Cancelコマンドの実行中にこのケースが発生した場合は、エラーが発生します。

サーバー管理者は、XMLA DISCOVER メソッドを使用して DISCOVER_CONNECTIONS スキーマ行セットを取得することによって、Analysis Services インスタンスのアクティブな接続を取得できます。

サーバー プロセスのキャンセル

サーバー管理者は、 cancelコマンドのspidプロパティにサーバープロセス識別子 (spid) を指定することにより、特定の spid に関連付けられているコマンドを取り消すことができます。

関連するセッションおよび接続のキャンセル

Cancelassociatedプロパティを true に設定すると、 cancelコマンドで指定された接続、セッション、または SPID に関連付けられている接続、セッション、およびコマンドを取り消すことができます。

参照

Discover メソッド (XMLA)
Analysis Services での XMLA による開発