Prestatieprobleem met terugschrijven wanneer celbeveiliging is ingeschakeld in SQL Server Analysis Services

Dit artikel helpt u bij het omzeilen van het prestatieprobleem voor terugschrijven dat optreedt wanneer celbeveiliging is ingeschakeld in SQL Server Analysis Services.

Oorspronkelijke productversie: SQL Server 2012 Analysis Services en latere versies
Oorspronkelijk KB-nummer: 2747616

Symptomen

Stel dat u Microsoft SQL Server Analysis Services (SSAS) uitvoert onder een rol waarvoor celbeveiliging is ingeschakeld. Wanneer u een MDX-instructie (UPDATE CUBE Multidimensional Expressions) probeert uit te voeren, kan het langer duren voordat de instructie wordt uitgevoerd dan voor een rol waarvoor celbeveiliging niet is ingeschakeld.

Oorzaak

Dit is zo ontworpen. Wanneer celbeveiliging is ingeschakeld, worden de query's in de celmodus uitgevoerd door de Analysis Services-engine. Als de write-back-bewerking toewijzing op hoog niveau uitvoert, is de ruimte van cellen op bladniveau groot.

Notitie

De spatie is niet het aantal rijen in de feitentabel. De ruimte is de volledige cross join-ruimte van alle dimensiegranulariteitskenmerken. Het duurt lang om die cellen één voor één op te sommen om de celbeveiliging te controleren.

Tijdelijke oplossing

Om dit probleem te omzeilen, gebruikt u een van de volgende methodes.

  • Methode 1

    Plaats de metingen die in een afzonderlijke kubus moeten worden beveiligd en implementeer de schrijfbeveiliging op kubusniveau onder uw rol.

    Notitie

    De prestaties wanneer u deze methode gebruikt, zijn net zo snel als wanneer de query wordt uitgevoerd onder een beheerdersrol. Uw kubusontwerp wordt echter complex en u moet virtuele kubussen maken om gekoppelde maateenheidgroepen te gebruiken om de verschillende metingen in één MDX-query te retourneren. Wanneer u de writeback-bewerking uitvoert, moet u bovendien een MDX-query maken die gebruikmaakt van de juiste kubusnaam op basis van de writeback-meting.

  • Methode 2

    Voer de writeback-bewerking uit op het laagste granulariteitsniveau van een bepaald lid. U kunt niet toewijzen voor veel gedetailleerde granulariteitsleden.

    Notitie

    Mogelijk moet u dummy-leden maken in dimensietabellen die zijn gemarkeerd als aanpassingsleden in elke dimensie, ter ondersteuning van de writeback-bewerking.