KB3196102 – OPRAVA: Problémy s výkonem způsobené neustálým růstem paměti ve službě Analysis Services SQL Server 2016

Platí pro
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

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.