Denne hurtigreparasjonen gjelder også for Microsoft SQL Server 2014 Analysis Services (SSAS 2014).
Symptomer
Anta 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 kommando for prosessen mot dimensjonene, mislykkes behandlingen, og du får følgende feilmelding:
Intern feil: Det oppstod en uventet feil (filen ' pfiallocator.cpp', linje 822, funksjonen 'PFMemoryHolder::RegisterMemoryHolder').
Hvis du bruker SQL-Profiler for å spore problemet, viser sporingen at følgende feilmelding oppstår under kommandoen ProcessFull på vDimWorkItemTreeOverlay -dimensjonen:
Intern feil: Det oppstod en uventet feil (filen ' pfiallocator.cpp', linje 822, funksjonen 'PFMemoryHolder::RegisterMemoryHolder'). Feil i OLAP-lagringsmotoren: Det oppstod en feil under behandling av 'WorkItemTreeSK'-attributt for dimensjonen arbeidet element-treet fra databasen 'Tfs_Analysis'.
Legg merke til behandlingsfeil under påvirker Analysis Services database design med datakilder som brukes administrerte .NET Framework Data Provider for SQL Server, som er System.Data.SqlClient.
Årsak
Dette problemet oppstår fordi en like viktig dimensjonsverdien i datakilden som brukes av Analysis Services behandler.
Oppløsning
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.
Samleoppdatering 1 for SQLServer-2014/en-us/help/2931693
Samleoppdatering 6 for SQL Server 2012 SP1/en-us/help/2874879
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Hvis du vil ha mer informasjon
Når du har installert hurtigreparasjonen, behandlingen vil oppføre seg i henhold til behandling feil konfigurasjonsinnstillingene i stedet for i henhold til intern feil symptomer.
Du kan kontrollere virkemåten ved å bruke innstillingen duplikatnøkkel når du behandler SSAS-dimensjoner. Eller du kan styre virkemåten ved å konfigurere egenskapen KeyDuplicate for egenskapen ErrorConfiguration som følger når du utformer dimensjonene:
-
Når innstillingen KeyDuplicate er satt til standardinnstillingen for IgnoreError, er det ingen advarsler når det oppdages en duplikatnøkkel, og behandlingen fortsetter.
-
Når innstillingen KeyDuplicate er satt til ReportAndContinue, rapporteres feil eller advarsler. Imidlertid fortsetter behandlingen.
-
Når innstillingen KeyDuplicate er satt til ReportAndStop, feil eller advarsler er rapportert, og behandlingen stoppes.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".
Løsningen
Hvis du vil omgå dette problemet, kan du slette ugyldig duplikatnøkkel i data lager dimensjon tabellene i SQL Server-Database Engine. Du kan bruke følgende spørring til å søke etter to like nøkler:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlay
GROUP BY WorkItemTreeSK
HAVING COUNT(WorkItemTreeSK) >1
Referanser
Hvis du vil ha mer informasjon om behandling av alternativer og innstillinger, kan du gå til følgende MSDN-webområde:
Informasjon om behandling av alternativer og innstillingerHvis du vil ha mer informasjon om hvordan du kan behandle lageret eller kube manuelt, kan du gå til følgende MSDN-webområde:
Behandle manuelt datalager og Analysis Services-kube for Team Foundation Server