Lock 要素 (XMLA)
Microsoft SQL Server Analysis Services インスタンス上の指定されたオブジェクトをロックします。
構文
<Command>
<Lock>
<ID>...</ID>
<Object>...</Object>
<Mode>...</Mode>
</Lock>
</Command>
要素の特性
特性 |
説明 |
---|---|
データ型と長さ |
なし |
既定値 |
なし |
カーディナリティ |
0-n : 省略可能な要素で、出現する場合は複数回の出現が可能です |
説明
Lock コマンドは、現在アクティブなトランザクションのコンテキスト内で、共有オブジェクトまたは排他的に使用されるオブジェクトをロックします。Lock コマンドを明示的に発行できるのは、データベース管理者またはサーバー管理者だけです。オブジェクトをロックすると、そのロックが解除されるまでトランザクションはコミットできません。Analysis Services では、共有ロックと排他ロックの 2 種類がサポートされています。Analysis Services でサポートされるロックの種類の詳細については、「Mode 要素 (XMLA)」を参照してください。
Analysis Services では、データベースに対するロックだけが可能です。Object 要素には、Analysis Services データベースへのオブジェクト参照を含める必要があります。Object 要素が指定されていない場合、またはデータベース以外のオブジェクトを Object 要素が参照している場合には、エラーが発生します。
他のコマンドは、Analysis Services データベースに対する Lock コマンドを暗黙的に発行します。データベースからデータまたはメタデータを読み取るすべての操作 (たとえば Discover メソッドや、Statement コマンドを実行する Execute メソッド) は、データベースに対する共有ロックを暗黙的に発行します。Analysis Services データベース上のオブジェクトに対してデータまたはメタデータの変更内容をコミットするすべてのトランザクション (たとえば Alter コマンドを実行する Execute メソッド) は、データベースに対する排他ロックを暗黙的に発行します。
すべてのロックは、現在のトランザクションのコンテキスト内で保持されます。現在のトランザクションがコミットまたはロールバックされると、そのトランザクション内で定義されたすべてのロックは自動的に解放されます。