锁定数据库和解除数据库锁定 (XMLA)
可以分别使用 XML for Analysis (XMLA) 中的 Lock 或 Unlock 命令锁定数据库和解除数据库锁定。通常,其他 XMLA 命令会在执行期间根据需要自动锁定对象和解除对象锁定,从而完成命令。可以显式锁定数据库或解除数据库锁定,从而在单个事务中执行多个命令的同时(如 Batch 命令),阻止其他应用程序向数据库提交写事务。
锁定数据库
Lock 命令锁定当前活动事务上下文中的对象,该锁可为共享锁或排他锁。对象上的锁将阻止提交事务,直到删除该锁为止。MicrosoftSQL ServerAnalysis Services 支持两种类型的锁:共享锁和排他锁。有关 Analysis Services 支持的锁类型的详细信息,请参阅Mode 元素 (XMLA)。
Analysis Services 仅允许锁定数据库。Object 元素必须包含对 Analysis Services 数据库的对象引用。如果未指定 Object 元素或 Object 元素引用数据库以外的对象,则将引发错误。
安全说明 |
---|
只有数据库管理员或服务器管理员可以显式发出 Lock 命令。 |
其他命令将对 Analysis Services 数据库隐式发出 Lock 命令。任何从数据库读取数据或元数据的操作,例如任何运行 Statement 命令的 Discover 方法或 Execute 方法将对数据库隐式发出一个共享锁。任何提交对 Analysis Services 数据库上对象的数据更改或元数据更改的事务,例如运行 Alter 命令的 Execute 方法,将对数据库隐式发出一个排他锁。
解除对象锁定
Unlock 命令可删除在当前活动事务的上下文中建立的锁。
安全说明 |
---|
只有数据库管理员或服务器管理员可以显式发出 Unlock 命令。 |
所有锁都位于当前事务的上下文中。当提交或回滚当前事务时,事务中定义的所有锁都将自动释放。