Příznaky
Předpokládejme, že používáte instanci služby Microsoft SQL Server 2016 Analysis Services. I když se do mezipaměti ukládá stále více objektů globálního rozsahu, tyto mezipaměti se nikdy nevyčistí. To může mít za následek neustálý růst paměti a nakonec může dojít k pádu serveru.
Globální obory se ukládají do mezipaměti na základě požadavků na zabezpečení jednotlivých uživatelů. Proto se s tímto problémem obvykle setkáte pouze v případě, že dojde k některému z následujících scénářů:
- V modelu máte dynamické výrazy (například UserName(), CustomData()). Není to povinné pro zobrazení problému, ale je to častá příčina. Pokud jsou přítomny dynamické výrazy, každý jedinečný uživatel musí vytvořit svůj vlastní jedinečný globální obor. To způsobuje výrazné zvýšení počtu globálních oborů, které je potřeba vytvořit a uložit do mezipaměti.
- Máte složitý model, který obsahuje velké množství metadat a zabezpečení. To ovlivňuje náklady na paměť na objekt oboru. S rostoucím počtem globálních oborů uložených v mezipaměti roste nároky na paměť na základě nákladů na objekt oboru.
- K serveru se připojuje spousta jedinečných uživatelů. PowerBI.com může například často aktualizovat dlaždice na řídicím panelu pro každého uživatele. V takovém případě služba Analysis Services přijímá velké množství připojení a dotazů pro každého jedinečného uživatele a počet globálních oborů prudce naroste a spotřebovává velké množství paměti.
Poznámka: Po instalaci této opravy hotfix bude mít server SQL Server verzi 13.0.2170.0.
Řešení
Informace o kumulativní aktualizaci
Oprava tohoto problému je součástí následující kumulativní aktualizace pro SQL Server:
Informace o kumulativních aktualizacích pro SQL Server
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Podívejte se na nejnovější kumulativní aktualizace pro SQL Server:
Nejnovější kumulativní aktualizace pro SQL Server 2016
Alternativní řešení
Tento problém vyřešíte tak, že na databázi ručně spustíte <příkaz ClearCache> XMLA podle příslušného plánu. To by umožnilo vymazat všechny globální mezipaměti oboru a paměť by se opět zmenšila. Tato možnost způsobí při příštím připojení určité snížení výkonu, protože nebudete moct znovu použít globální obor uložený v mezipaměti.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.