Compartilhar via


Bloqueando e desbloqueando bancos de dados (XMLA)

Você pode bloquear e desbloquear bancos de dados usando, respectivamente, os comandos Bloquear e Desbloquear no XMLA (XML for Analysis). Normalmente, outros comandos do XMLA bloqueiam e desbloqueiam objetos automaticamente quando necessário para concluir o comando durante a execução. Você pode bloquear ou desbloquear explicitamente um banco de dados para executar vários comandos em uma única transação, como um comando do Lote , impedindo que outros aplicativos confirmem uma transação de gravação no banco de dados.

Bloqueando bancos de dados

O comando Lock bloqueia um objeto, para uso compartilhado ou exclusivo, no contexto da transação ativa no momento. Um bloqueio em um objeto impede a confirmação de transações até que o bloqueio seja removido. O Microsoft SQL Server Analysis Services dá suporte a dois tipos de bloqueios, bloqueios compartilhados e bloqueios exclusivos. Para obter mais informações sobre os tipos de bloqueio compatíveis com o Analysis Services, consulte Elemento Mode (XMLA).

O Analysis Services permite que apenas bancos de dados sejam bloqueados. O elemento Object deve conter uma referência de objeto a um banco de dados do Analysis Services. Se o Object elemento não for especificado ou se o Object elemento se referir a um objeto diferente de um banco de dados, ocorrerá um erro.

Importante

Apenas administradores de banco de dados ou de servidor podem emitir um comando Lock explicitamente.

Outros comandos emitem implicitamente um Lock comando em um banco de dados do Analysis Services. Qualquer operação que lê dados ou metadados de um banco de dados, como qualquer método Discover ou um método Execute executando um comando Statement , emite implicitamente um bloqueio compartilhado no banco de dados. Qualquer transação que confirme alterações em dados ou metadados em um objeto em um banco de dados do Analysis Services, como um Execute método que executa um comando Alter , emite implicitamente um bloqueio exclusivo no banco de dados.

Desbloqueando objetos

O comando Unlock remove um bloqueio estabelecido dentro do contexto da transação ativa no momento.

Importante

Somente administradores de banco de dados ou administradores de servidor podem emitir explicitamente um Unlock comando.

Todos os bloqueios são mantidos no contexto da transação atual. Quando a transação atual é confirmada ou revertida, todos os bloqueios definidos dentro da transação são liberados automaticamente.

Consulte Também

Elemento Lock (XMLA)
Elemento Unlock (XMLA)
Desenvolvendo com XMLA no Analysis Services