KB2483381 - CORREÇÃO: uma aplicação falha quando fecha a última ligação a um ficheiro de cubo local no SSRS 2008 R2

A Microsoft distribui correções do Microsoft SQL Server 2008 R2 como um ficheiro transferível. Uma vez que as correções são cumulativas, cada nova versão contém todas as correções e todas as correções de segurança incluídas na versão de correção anterior do SQL Server 2008 R2.

Sintomas

Tenha em conta o seguinte cenário:

  • Executa uma aplicação que abre uma ligação a um cubo local no Microsoft SQL Server 2008 R2 Analysis Service (SSRS 2008 R2).

  • A aplicação é aberta e fecha a ligação várias vezes quando a aplicação cria o cubo local. Por exemplo, executa uma das seguintes aplicações:

    • Executa o Microsoft Excel para abrir e fechar uma ligação a um cubo local várias vezes.
    • Executa o Microsoft Access para abrir e fechar uma ligação a um cubo local quando alterna entre as vistas de gráfico dinâmico de uma tabela.
    • Executa o fornecedor MSOLAP, ADOMD.NET ou AMO numa aplicação para manipular uma ligação de um cubo local. 
  • A aplicação tenta fechar a última ligação ao cubo local.

Neste cenário, a aplicação pode falhar.

Causa

Este problema ocorre porque ocorre um erro de condição race entre os threads dentro do motor de cubo local do Analysis Service (Msmdlocal.dll).

Quando a última ligação é libertada, o motor tenta descarregar-se sozinho. No entanto, existem muitas condições de corrida entre o thread que está a fechar a última ligação e os outros threads internos. Por conseguinte, a aplicação pode falhar.

Resolução

Informações de atualização cumulativa

SQL Server 2008 R2

A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 6. Para obter mais informações sobre como obter este pacote de atualização cumulativa para SQL Server 2008 R2, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:

2489376 Pacote de Atualização Cumulativa 6 para SQL Server 2008 R2 Nota Uma vez que as compilações são cumulativas, cada nova versão de correção contém todas as correções e todas as correções de segurança incluídas na versão de correção do SQL Server 2008 R2 anterior. Recomendamos que considere aplicar a versão de correção mais recente que contém esta correção. Para obter mais informações, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:

981356 As compilações do SQL Server 2008 R2 que foram lançadas após o lançamento do SQL Server 2008 R2

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Para obter mais informações sobre cubos locais, visite o seguinte site da Microsoft Developer Network (MSDN):

Informações gerais sobre cubos locais
        
Para obter mais informações sobre o Modelo de Manutenção Incremental para SQL Server, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:

935897 Um Modelo de Manutenção Incremental está disponível pela equipa do SQL Server para fornecer correções para problemas reportadosPara obter mais informações sobre o esquema de nomenclatura para atualizações de SQL Server, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:

822499 Novo esquema de nomenclatura para pacotes de atualização de software do Microsoft SQL Server Para obter mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para ver o artigo na Base de Dados de Conhecimento Microsoft:

824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft