KB2876882 – RETT: "Intern fejl: Der opstod en uventet fejl", når du kører en "Proces"-kommando mod TFS SSAS-kuben

Gælder for
SQL Server 2012 Analysis Services

Dette hotfix gælder også for Microsoft SQL Server 2014 Analysis Services (SSAS 2014).

Symptomer

Antag, at du har nogle dimensioner i Microsoft SQL Server 2012 Analysis Services (SSAS 2012) eller SQL Server 2014 Analysis Services (SSAS 2014)-kuben (Tfs_Analysis), der indeholder dataene til Microsoft Visual Studio Team Foundation Server (TFS). Når du kører en proceskommando mod dimensionerne, kan behandlingen mislykkes, og du modtager følgende fejlmeddelelse:

Bemærk

Intern fejl: Der opstod en uventet fejl (filen 'pfiallocator.cpp', linje 822, funktionen 'PFMemoryHolder::RegisterMemoryHolder').

Hvis du bruger SQL Profiler til at spore problemet, viser sporingen, at følgende fejlmeddelelse opstår under kommandoen ProcessFull på vDimWorkItemTreeOverlay-dimensionen:

Bemærk

Intern fejl: Der opstod en uventet fejl (filen 'pfiallocator.cpp', linje 822, funktionen 'PFMemoryHolder::RegisterMemoryHolder'). Fejl i OLAP-lagringsprogrammet: Der opstod en fejl, mens attributten 'WorkItemTreeSK' for dimensionen 'Træ for arbejdselement' fra databasen 'Tfs_Analysis' blev behandlet.

Bemærk, at behandlingsfejlen påvirker Analysis Services-databasedesign, der har datakilder, der bruger den administrerede .NET Framework-dataprovider til SQL Server, som er System.Data.SqlClient.

Årsag

Problemet opstår, fordi en dubletdimensionsnøgleværdi i datakilden bruges af Analysis Services-behandlingen.

Løsning

Problemet blev først løst i følgende kumulative opdatering af SQL Server.

Samlet opdatering 1 til SQL Server 2014 /en-us/help/2931693

Kumulativ opdatering 6 til SQL Server 2012 SP1 /en-us/help/2874879

Om kumulative opdateringer til SQL Server

Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:

      

Flere oplysninger

Når du har anvendt hotfixet, fungerer behandlingen i overensstemmelse med indstillingerne for konfiguration af behandlingsfejl i stedet for i henhold til interne fejlsymptomer.

Du kan styre funktionsmåden ved hjælp af indstillingen Dubletnøgle, når du behandler SSAS-dimensionerne. Eller du kan styre funktionsmåden ved at konfigurere egenskaben KeyDuplicate for egenskaben ErrorConfiguration på følgende måde, når du designer dimensionerne:

  • Når indstillingen KeyDuplicate er indstillet til standardindstillingen IgnoreError, er der ingen advarsler, når der registreres en dubletnøgleværdi, og behandlingen fortsætter.
  • Når indstillingen KeyDuplicate er indstillet til ReportAndContinue, rapporteres fejlene eller advarslerne. Behandlingen fortsætter dog.
  • Når indstillingen KeyDuplicate er indstillet til ReportAndStop, rapporteres fejlene eller advarslerne, og behandlingen stoppes.

      

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Løsning

Du kan løse problemet ved at slette den ugyldige dubletnøgle i datavarehusdimensionstabellerne i SQL Server Database Engine. Du kan bruge følgende forespørgsel til at finde dubletnøglen:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSK
FROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlay
GROUP BY WorkItemTreeSK
HAVING COUNT(WorkItemTreeSK) >1

Referencer

Du kan finde flere oplysninger om behandlingsmuligheder og -indstillinger på følgende Microsoft-websted:

Oplysninger om behandlingsmuligheder og -indstillinger Du kan finde flere oplysninger om, hvordan du behandler lagerstedet eller kuben manuelt, på følgende MSDN-websted:

Behandle datavarehuset og Analysis Services-kuben for Team Foundation Server manuelt