Symptom
Anta att du använder en instans av Microsoft SQL Server 2016 Analysis Services. Även om fler och fler objekt med global omfattning cachelagras, rensas aldrig dessa cacheminnen. Detta kan resultera i en kontinuerlig tillväxt av minne och så småningom kan servern krascha.
De globala omfattningarna cachelagras baserat på säkerhetskraven för varje användare. Därför stöter du vanligtvis bara på det här problemet när du har något av följande scenarier:
- Du har dynamiska uttryck (till exempel UserName(), CustomData()) i modellen. Detta är inte obligatoriskt för att se problemet, men det är en vanlig orsak. När det finns dynamiska uttryck måste varje unik användare skapa sitt eget unika globala omfång. Detta medför en betydande ökning av antalet globala omfattningar som måste skapas och cachelagras.
- Du har en komplex modell med många metadata och säkerhetsfunktioner. Detta påverkar kostnaden för minne per omfångsobjekt. När antalet cachelagrade globala omfång ökar växer minnesfotavtrycket baserat på kostnaden för minne per omfångsobjekt.
- Du har många unika användare som ansluter till servern. PowerBI.com kan till exempel uppdatera paneler i instrumentpanelen för varje användare ofta. När detta händer tar Analysis Services emot många anslutningar och frågor för varje unik användare och antalet globala omfattningar ökar och använder mycket minne.
Obs! När du har installerat den här snabbkorrigeringen blir SQL Server-versionen 13.0.2170.0.
Lösning
Information om kumulativ uppdatering
Korrigeringen för det här problemet ingår i följande kumulativa uppdatering för SQL Server:
Om kumulativa uppdateringar för SQL Server
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2016
Lösning
Du kan komma runt det här problemet genom att köra ett <ClearCache> XMLA-kommando till databasen manuellt enligt ett lämpligt schema. Detta skulle göra det möjligt att rensa alla globala scopecacheminnen och minnet skulle minska igen. Det här alternativet medför en viss prestandakostnad när du ansluter nästa gång eftersom du inte kan återanvända det cachelagrade globala scopet.
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Läs om den terminologi som Microsoft använder för att beskriva programuppdateringar.