次の方法で共有


データベースのロックとロック解除 (XMLA)

データベースのロックとロック解除は、それぞれ XML for Analysis (XMLA) の [ロック ] コマンドと [ロック解除 ] コマンドを使用して行うことができます。 通常、他の XMLA コマンドは、実行中にコマンドを完了するために必要に応じて自動的にオブジェクトのロックとロック解除を行います。 Batch コマンドなど、1 つのトランザクション内で複数のコマンドを実行するようにデータベースを明示的にロックまたはロック解除し、他のアプリケーションがデータベースに書き込みトランザクションをコミットできないようにすることができます。

データベースのロック

Lock コマンドは、現在アクティブなトランザクションのコンテキスト内で、共有または排他的に使用するためにオブジェクトをロックします。 オブジェクトをロックすると、ロックが解除されるまでトランザクションがコミットされなくなります。 Microsoft SQL Server Analysis Services では、共有ロックと排他ロックの 2 種類のロックがサポートされています。 Analysis Services でサポートされるロックの種類の詳細については、「 Mode 要素 (XMLA)」を参照してください。

Analysis Services では、データベースのみをロックできます。 Object 要素には、Analysis Services データベースへのオブジェクト参照が含まれている必要があります。 Object要素が指定されていない場合、またはObject要素がデータベース以外のオブジェクトを参照している場合は、エラーが発生します。

Von Bedeutung

Lock コマンドを明示的に発行できるのは、データベース管理者またはサーバー管理者だけです。

その他のコマンドは、Analysis Services データベースで Lock コマンドを暗黙的に発行します。 Discover メソッドやステートメント コマンドを実行する Execute メソッドなど、データベースからデータまたはメタデータを読み取る操作は、データベースに対して暗黙的に共有ロックを発行します。 データまたはメタデータの変更を Analysis Services データベース上のオブジェクトにコミットするトランザクション (Alter コマンドを実行するExecute メソッドなど) は、データベースに対して排他的ロックを暗黙的に発行します。

オブジェクトのロック解除

Unlock コマンドは、現在アクティブなトランザクションのコンテキスト内で確立されたロックを削除します。

Von Bedeutung

Unlock コマンドを明示的に発行できるのは、データベース管理者またはサーバー管理者だけです。

すべてのロックは、現在のトランザクションのコンテキストで保持されます。 現在のトランザクションがコミットまたはロールバックされると、トランザクション内で定義されているすべてのロックが自動的に解放されます。

こちらもご覧ください

Lock 要素 (XMLA)
Unlock 要素 (XMLA)
Analysis Services での XMLA を使用した開発