KB2876882 – LØSNING: «Intern feil: Det oppstod en uventet feil» når du kjører en «Prosess»-kommando mot TFS SSAS-kuben

Gjelder for
SQL Server 2012 Analysis Services

Denne hurtigreparasjonen gjelder også for Microsoft SQL Server 2014 Analysis Services (SSAS 2014).

Symptomer

La oss si at du har noen dimensjoner i Microsoft SQL Server 2012 Analysis Services (SSAS 2012) eller SQL Server 2014 Analysis Services (SSAS 2014)-kuben (Tfs_Analysis) som inneholder dataene for Microsoft Visual Studio Team Foundation Server (TFS). Når du kjører en prosesskommando mot dimensjonene, kan behandlingen mislykkes, og du får følgende feilmelding:

Obs!

Intern feil: Det oppstod en uventet feil (fil pfiallocator.cpp, linje 822, funksjon PFMemoryHolder::RegisterMemoryHolder).

Hvis du bruker SQL-profiler til å spore problemet, viser sporingen at følgende feilmelding oppstår under ProcessFull-kommandoen på vDimWorkItemTreeOverlay-dimensjonen:

Obs!

Intern feil: Det oppstod en uventet feil (fil pfiallocator.cpp, linje 822, funksjon PFMemoryHolder::RegisterMemoryHolder). Feil i OLAP-lagringsmotoren: Det oppstod en feil mens WorkItemTreeSK-attributtet for dimensjonen Arbeidselementtre fra Tfs_Analysis-databasen ble behandlet.

Behandlingsfeilen påvirker Analysis Services-databaseutforminger som har datakilder som bruker den administrerte .NET Framework-dataleverandøren for SQL Server, som er System.Data.SqlClient.

Årsak

Dette problemet oppstår fordi en duplisert dimensjonsnøkkelverdi i datakilden brukes av Analysis Services-behandlingen.

Oppløsning

Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.

Kumulativ oppdatering 1 for SQL Server 2014 /en-us/help/2931693

Kumulativ oppdatering 6 for SQL Server 2012 SP1 /en-us/help/2874879

Om kumulative oppdateringer for SQL Server

Hver nye kumulative oppdatering for SQL Server inneholder alle hurtigreparasjoner og alle sikkerhetsrettinger som fulgte med den forrige kumulative oppdateringen. Ta en titt på de nyeste kumulative oppdateringene for SQL Server:

      

Mer informasjon

Når du har brukt hurtigreparasjonen, fungerer behandlingen i henhold til konfigurasjonsinnstillingene for behandlingsfeil i stedet for i henhold til interne feilsymptomer.

Du kan kontrollere virkemåten ved å bruke innstillingen Dupliser nøkkel når du behandler SSAS-dimensjonene. Du kan også kontrollere virkemåten ved å konfigurere KeyDuplicat-egenskapen for ErrorConfiguration-egenskapen på følgende måte når du utformer dimensjonene:

  • Når innstillingen KeyDuplicate er satt til standardinnstillingen IgnoreError, vises det ingen advarsler når en duplisert nøkkelverdi oppdages, og behandlingen fortsetter.
  • Når KeyDuplicat-innstillingen er satt til ReportAndContinue, rapporteres feilene eller advarslene. Behandlingen fortsetter imidlertid.
  • Når KeyDuplicat-innstillingen er satt til ReportAndStop, rapporteres feil eller advarsler, og behandlingen stoppes.

      

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen «Gjelder for».

Midlertidig løsning

Du kan omgå problemet ved å slette den ugyldige duplikatnøkkelen i dimensjonstabellene for datavareren i SQL Server Database Engine. Du kan bruke følgende spørring til å finne duplikatnøkkelen:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSK
FROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlay
GROUP BY WorkItemTreeSK
HAVING COUNT (WorkItemTreeSK) >1

Kilder

Hvis du vil ha mer informasjon om behandlingsalternativer og -innstillinger, kan du gå til følgende MSDN-webområde:

Informasjon om behandlingsalternativer og -innstillinger Hvis du vil ha mer informasjon om hvordan du behandler lageret eller kuben manuelt, kan du gå til følgende MSDN-webområde:

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