Symptomen
Stel dat u een exemplaar van Microsoft SQL Server 2016 Analysis Services gebruikt. Wanneer er meer en meer globale bereik objecten in de cache zijn opgeslagen, worden de caches nooit opgeschoond. Dit kan leiden tot een voortdurende groei van het geheugen en uiteindelijk de server kan vastlopen. Algemene bereiken worden in cache opgeslagen op basis van de beveiligingsvereisten voor elke gebruiker. Dit probleem wordt dan meestal alleen weergegeven wanneer u een van de volgende scenario's ondervindt:
-
U hebt dynamische expressies (bijvoorbeeld gebruikersnaam (), CustomData ()) in het model. Dit is niet verplicht om het probleem te zien, maar dit is een veelvoorkomende oorzaak. Wanneer dynamische expressies worden weergegeven, moet elke gebruiker een eigen, uniek globaal bereik bouwen. Dit veroorzaakt een aanzienlijke toename van het aantal globaal bereik dat moet worden gemaakt en in de cache worden gemaakt.
-
U hebt een complex model met veel metagegevens en beveiliging. Dit beïnvloedt de kosten van geheugen per Bereikobject. Naarmate het aantal globale bereiken in de cache toeneemt, wordt de geheugen footprint groter op basis van de kosten van geheugen per Bereikobject.
-
U hebt veel unieke gebruikers die verbinding maken met de server. Met PowerBI.com kunt u bijvoorbeeld tegels in het dashboard vernieuwen voor elke gebruiker in een regelmatig schema. Wanneer dit gebeurt, ontvangt Analysis Services een groot aantal verbindingen en query's voor elke unieke gebruiker en het aantal algemene bereiken piekt en gebruikt u veel geheugen.
Opmerking: wanneer u deze hotfix toepast, wordt de versie van SQL Server 13.0.2170.0.
Oplossing
Cumulatieve updategegevens
De oplossing voor dit probleem is opgenomen in de volgende cumulatieve update voor SQL Server:
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Tijdelijke oplossing
U kunt dit probleem omzeilen door een <ClearCache> XMLA-opdracht handmatig uit te voeren op de database volgens de juiste planning. Hierdoor wordt alle cache voor globale bereikwaarden gewist en wordt het geheugen weer kleiner. Met deze optie worden bepaalde prestatie kosten veroorzaakt wanneer u de volgende keer verbinding maakt, omdat u het globale bereik in de cache niet opnieuw kunt gebruiken.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Lees meer over de terminologie die door Microsoft wordt gebruikt om software-updates te beschrijven.