锁定数据库和解除数据库锁定 (XMLA)

可以分别使用 XML for Analysis (XMLA) 中的 LockUnlock 命令锁定数据库和解除数据库锁定。通常,其他 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 命令。

所有锁都位于当前事务的上下文中。当提交或回滚当前事务时,事务中定义的所有锁都将自动释放。