KB4089623 – ÅTGÄRD: Slut på minne inträffar och frågan misslyckas när du kör MDX-fråga med alternativet NON EMPTY i SSAS

Gäller för
SQL Server 2016 Service Pack 1 SQL Server 2016 Business Intelligence SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Symptom

När du kör en MDX-fråga (Multidimensional Expressions) genererad av Tableau med alternativet NON EMPTY och Query-Scoped beräknad medlem i utsnitt i Microsoft SQL Server Analysis Services (SSAS) uppstår slut på minne och frågan misslyckas.

Lösning

Det här problemet åtgärdas i följande kumulativa uppdateringar för SQL Server:

Kumulativ uppdatering 7 för SQL Server 2017

Kumulativ uppdatering 8 för SQL Server 2016 SP1

Kumulativ uppdatering 11 för SQL Server 2014 SP2

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 uppdatering för SQL Server 201 7

Senaste kumulativa uppdateringen för SQL Server 2016

Senaste kumulativa uppdateringen för SQL Server 2014

Mer information

Följande är exempelfrågan för det här problemet:


WITH 
MEMBER [Measures].[Test] AS 
CASE 
WHEN 
IsEmpty([Date].[Date].CurrentMember.MemberValue)
OR 
[Date].[Date].CurrentMember.MemberValue = NULL 
THEN NULL
ELSE 
Cdate([Date].[Date].CurrentMember.MemberValue)
END 
SELECT 
[Measures].[Internet Order Count] DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME],[MEMBER_CAPTION] ON COLUMNS
,NON EMPTY [Date].[Fiscal].[Fiscal Year].ALLMEMBERS DIMENSION PROPERTIES [MEMBER_UNIQUE_NAME], [MEMBER_CAPTION] ON ROWS
FROM [Adventure Works]
WHERE 
StripCalculatedMembers
(
CrossJoin
(
{[Product].[Product Categories].[Subcategory].&[26]}
,Filter
(
[Date].[Date].[Date].ALLMEMBERS
,
[Measures].[Test] >= Cdate(40369) AND [Measures].[Test] <= Cdate(42735)
)
)
);

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.