Bloquear y desbloquear bases de datos (XMLA)

Puede bloquear y desbloquear bases de datos utilizando, respectivamente, los comandos Lock y Unlock 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 transacción única, como un comando Batch, evitando que otras aplicaciones confirmen una transacción de la escritura a 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. MicrosoftSQL ServerAnalysis Services admite dos tipos de bloqueos, bloqueos compartidos y bloqueos exclusivos. Para obtener más información acerca de los tipos de bloqueo admitidos por Analysis Services, vea Elemento Mode (XMLA).

Analysis Services sólo permite bloquear las bases de datos. El elemento Object debe contener una referencia de objeto a una base de datos de 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.

Nota de seguridadNota de seguridad

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

Otros comandos ejecutan implícitamente un comando Lock en una base de datos de 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 confirma los cambios de los datos o metadatos en un objeto de una base de datos de 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.

Nota de seguridadNota de seguridad

Sólo 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.