コマンドのキャンセル (XMLA)
XML for Analysis (XMLA) の Cancel コマンドを使用すると、コマンドを発行するユーザーの管理権限に応じて、セッション上のコマンド、セッション、接続、サーバー プロセス、あるいは関連するセッションまたは接続をキャンセルできます。
コマンドのキャンセル
プロパティを指定せずに Cancel コマンドを送信することにより、ユーザーは現在の明示的なセッションのコンテキスト内で現在実行中のコマンドをキャンセルできます。
注意 |
---|
暗黙のセッション内で実行中のコマンドは、ユーザー操作によってキャンセルすることはできません。 |
バッチ コマンドのキャンセル
ユーザーが 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 に関連する接続やセッション、またはコマンドをキャンセルできます。