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