Den här snabb korrigeringen gäller även för Microsoft SQL Server 2014 Analysis Services (SSAS 2014).
Symptom
Anta att du har vissa dimensioner i Microsoft SQL Server 2012 Analysis Services (SSAS 2012) eller SQL Server 2014 Analysis Services (SSAS 2014) kub (Tfs_Analysis) som innehåller data för Microsoft Visual Studio Team Foundation Server (TFS). När du kör ett process kommando mot dimensionerna kan bearbetningen Miss lyckas och du får följande fel meddelande:
Internt fel: ett oväntat fel uppstod (fil ' pfiallocator. cpp ', Line 822, Function ' PFMemoryHolder:: RegisterMemoryHolder ').
Om du använder SQL profileror för att spåra problemet visar spårningen att följande fel meddelande visas under kommandot ProcessFull i vDimWorkItemTreeOverlay -dimensionen:
Internt fel: ett oväntat fel uppstod (fil ' pfiallocator. cpp ', Line 822, Function ' PFMemoryHolder:: RegisterMemoryHolder '). Fel i OLAP-lagrings motorn: ett fel uppstod när attributet "WorkItemTreeSK" i dimensionen "arbets objekt träd" från databasen för "Tfs_Analysis" bearbetades.
Obs! Bearbetnings felet påverkar Analysis Services-databas konstruktioner med data källor som använde den hanterade .NET Framework Data Provider för SQL Server, som är system. data. SqlClient.
Orsak
Problemet beror på att ett dubblettvärde för dimensions nycklar i data källan används av Analysis Services-bearbetningen.
Lösning
Problemet är först åtgärdat i den kumulativa uppdateringen av SQL Server.
Kumulativ uppdatering 1 för SQL Server 2014 /en-us/help/2931693
Kumulativ uppdatering 6 för SQL Server 2012 SP1 /en-us/help/2874879
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Mer information
När du har installerat snabb korrigeringen kommer behandlingen att behandlas i enlighet med inställningarna för konfigurations fel i stället för enligt interna fel. Du kan styra beteendet genom att använda inställningen duplicera när du bearbetar SSAS-dimensionerna. Eller så kan du kontrol lera beteendet genom att konfigurera egenskapen dubblettnyckel för egenskapen ErrorConfiguration på följande sätt när du designar måtten:
-
När inställningen för dubbletter är inställd på IgnoreErrorär det inga varningar när ett dubblettvärde påträffas och bearbetningen fortsätter.
-
När inställningen för dubblettidentifiering är inställd på ReportAndContinue rapporteras fel och varningar. Bearbetningen fortsätter emellertid.
-
När inställningen för dubblettidentifiering är inställd på ReportAndStoprapporteras fel och varningar och bearbetningen stoppas.
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Lösning
Du kan undvika problemet genom att ta bort den ogiltiga dubblettnyckel i data lager dimensions tabellerna i SQL Server-databasmotorn. Du kan använda följande fråga för att hitta dubblettnyckel:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
Referenser
Mer information om hur du bearbetar alternativ och inställningar finns på följande MSDN-webbplats:
Information om bearbetnings alternativ och inställningarOm du vill ha mer information om hur du bearbetar lagret eller kuben manuellt går du till följande MSDN-webbplats:
Bearbeta data Warehouse och Analysis Services-kub manuellt för Team Foundation Server