Sintomas
Assuma que utiliza uma instância dos Serviços de Análise do Microsoft SQL Server 2016. Enquanto cada vez mais objetos de âmbito globais estão a ser cached, esses caches nunca são limpos. Isto pode resultar num crescimento contínuo da memória e, eventualmente, o servidor pode falhar. Os âmbitos globais são em cache com base nos requisitos de segurança para cada utilizador. Portanto, normalmente só encontrará esta questão quando experimentar um dos seguintes cenários:
-
Tem expressões dinâmicas (por exemplo, Nome do Utilizador(), CustomData()no modelo. Isto não é obrigatório para ver o problema, mas é uma causa comum. Quando as expressões dinâmicas estão presentes, cada utilizador único precisa de construir o seu próprio âmbito global único. Isto provoca um aumento significativo do número de âmbitos globais que precisam de ser criados e em cache.
-
Tem um modelo complexo que tem muitos metadados e segurança. Isto influencia o custo da memória por objeto de âmbito. À medida que o número de alcances globais em cache aumenta, a pegada de memória cresce com base no custo da memória por objeto de âmbito.
-
Tem muitos utilizadores únicos ligados ao servidor. Por exemplo, PowerBI.com podem refrescar os azulejos no seu painel de instrumentos para cada utilizador num horário frequente. Quando isso acontece, os Serviços de Análise recebem muitas ligações e consultas para cada utilizador único e o número de âmbitos globais aumenta e gasta muita memória.
Nota:Depois de aplicar este hotfix, a versão SQL Server será de 13.0.2170.0.
Resolução
Informação de atualização cumulativa
A correção para este problema está incluída na seguinte atualização cumulativa para o SQL Server:
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Confira as últimas atualizações cumulativas do SQL Server:
Solução
Para contornar este problema, executar manualmente um <ClearCache> comando XMLA para a base de dados em um horário apropriado. Isto permitiria que todos os caches de âmbito globais fossem limpos e a memória voltaria a reduzir-se. Esta opção irá causar algum custo de desempenho quando ligar a próxima vez porque não será capaz de reutilizar o âmbito global em cache.
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Conheça a terminologia que a Microsoft utiliza para descrever atualizações de software.