Bloquear y desbloquear bases de datos (XMLA)

Puede bloquear y desbloquear bases de datos mediante, respectivamente, los comandos Bloquear y Desbloquear en XML for Analysis (XMLA). Normalmente, otros comandos XMLA bloquean y desbloquean objetos automáticamente según sea necesario para completar el comando durante la ejecución. Puede bloquear o desbloquear explícitamente una base de datos para realizar varios comandos dentro de una sola transacción, como un comando de Batch , a la vez que impide que otras aplicaciones confirmen una transacción de escritura en la base de datos.

Bloquear bases de datos

El comando Lock bloquea un objeto, para uso compartido o exclusivo, dentro del contexto de la transacción actualmente activa. Un bloqueo en un objeto impide que se confirmen las transacciones hasta que se quita el bloqueo. Microsoft SQL Server SQL Server Analysis Services admite dos tipos de bloqueos, bloqueos compartidos y bloqueos exclusivos. Para obtener más información sobre los tipos de bloqueo admitidos por SQL Server Analysis Services, vea Elemento Mode (XMLA).

SQL Server Analysis Services solo permite bloquear bases de datos. El elemento Object debe contener una referencia de objeto a una base de datos SQL Server Analysis Services. Si no se especifica el elemento Object o el elemento Object hace referencia a un objeto que no es una base de datos, se produce un error.

Importante

Solo los administradores de bases de datos o de servidores pueden ejecutar explícitamente un comando Lock .

Otros comandos emiten implícitamente un comando Lock en una base de datos SQL Server Analysis Services. Cualquier operación que lee datos o metadatos de una base de datos, como cualquier método Discover o un método Execute que ejecuta un comando Statement , emite implícitamente un bloqueo compartido en la base de datos. Cualquier transacción que confirme los cambios en los datos o metadatos en un objeto de una base de datos de SQL Server Analysis Services, como un método Execute que ejecuta un comando Alter, emite implícitamente un bloqueo exclusivo en la base de datos.

Desbloquear objetos

El comando Unlock quita un bloqueo establecido dentro del contexto de la transacción que está activa en ese momento.

Importante

Solo los administradores de bases de datos o de servidores pueden ejecutar explícitamente un comando Unlock .

Todos los bloqueos se mantienen en el contexto de la transacción actual. Cuando la transacción actual se confirma o se revierte, se liberan automáticamente todos los bloqueos definidos dentro de la transacción.

Consulte también

Elemento Lock (XMLA)
Elemento Unlock (XMLA)
Desarrollar con XMLA en Analysis Services