コマンドを発行するユーザーの管理権限に応じて、XML for Analysis (XMLA) の Cancel コマンドは、セッション、セッション、接続、サーバー プロセス、または関連するセッションまたは接続でコマンドを取り消すことができます。
コマンドの取り消し
ユーザーは、指定されたプロパティを持たない Cancel
コマンドを送信することで、現在実行中のコマンドを現在の明示的なセッションのコンテキスト内で取り消すことができます。
注
暗黙的なセッションで実行されているコマンドは、ユーザーが取り消すことはできません。
Batch コマンドの取り消し
ユーザーが Batch
コマンドを取り消すと、 Batch
コマンド内でまだ実行されていない残りのコマンドはすべて取り消されます。
Batch
コマンドがトランザクションである場合は、Cancel
コマンドの実行前に実行されたすべてのコマンドがロールバックされます。
セッションの取り消し
Cancel
コマンドの SessionID プロパティで明示的なセッションのセッション識別子を指定することで、データベース管理者またはサーバー管理者は、現在実行中のコマンドを含むセッションを取り消すことができます。 データベース管理者は、管理アクセス許可を持つデータベースのセッションのみを取り消すことができます。
データベース管理者は、DISCOVER_SESSIONSスキーマ行セットを取得することで、指定されたデータベースのアクティブなセッションを取得できます。 DISCOVER_SESSIONSスキーマ行セットを取得するために、データベース管理者は XMLA Discover
メソッドを使用し、Discover
メソッドの Restrictions プロパティでSESSION_CURRENT_DATABASE制限列に適切なデータベース識別子を指定します。
接続の取り消し
サーバー管理者は、Cancel
コマンドの ConnectionID プロパティに接続識別子を指定することで、実行中のすべてのコマンドを含め、特定の接続に関連付けられているすべてのセッションを取り消し、接続を取り消すことができます。
注
データ ポンプが HTTP 接続を提供している間に複数のセッションを開いた場合など、MicrosoftSQL ServerAnalysis Services のインスタンスが接続に関連付けられているセッションを見つけて取り消すことができない場合、インスタンスは接続をキャンセルできません。
Cancel
コマンドの実行中にこのケースが発生した場合は、エラーが発生します。
サーバー管理者は、XMLA Discover
メソッドを使用してDISCOVER_CONNECTIONSスキーマ行セットを取得することで、Analysis Services インスタンスのアクティブな接続を取得できます。
サーバー プロセスの取り消し
サーバー管理者は、Cancel
コマンドの SPID プロパティにサーバー プロセス識別子 (SPID) を指定することで、特定の SPID に関連付けられているコマンドを取り消すことができます。
関連付けられているセッションと接続の取り消し
CancelAssociated プロパティを true に設定すると、Cancel
コマンドで指定された接続、セッション、および SPID に関連付けられている接続、セッション、およびコマンドを取り消すことができます。