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 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 Analysis Services, vea Mode Element (XMLA).
Analysis Services solo permite bloquear 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.
Importante
Solo los administradores de bases de datos o de servidores pueden ejecutar explícitamente un comando Lock
.
Otros comandos emiten implícitamente un Lock
comando 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 confirme los cambios en los datos o metadatos en un objeto de una base de datos de Analysis Services, como un Execute
método 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 los administradores de servidor pueden emitir explícitamente un Unlock
comando.
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