Deze hotfix is ook van toepassing op Microsoft SQL Server 2014 Analysis Services (SSAS 2014).
Symptomen
Ga ervan uit dat u bepaalde dimensies hebt in de Microsoft SQL Server 2012 Analysis Services (SSAS 2012) of SQL Server 2014 Analysis Services (SSAS 2014) (Tfs_Analysis) die de gegevens bevatten voor Microsoft Visual Studio Team Foundation Server (TFS). Wanneer u een proces opdracht uitvoert voor de dimensies, mislukt de verwerking mogelijk en wordt het volgende foutbericht weergegeven:
Interne fout: er is een onverwachte fout opgetreden (bestand ' pfiallocator. cpp ', regel 822, functie ' PFMemoryHolder:: RegisterMemoryHolder ').
Als u met SQL Profiler de fout ondervindt, wordt het volgende foutbericht weergegeven tijdens de opdracht ProcessFull in de vDimWorkItemTreeOverlay -dimensie:
Interne fout: er is een onverwachte fout opgetreden (bestand ' pfiallocator. cpp ', regel 822, functie ' PFMemoryHolder:: RegisterMemoryHolder '). Fouten in de OLAP-opslagengine: er is een fout opgetreden bij het kenmerk ' WorkItemTreeSK ' van de dimensie ' werk item structuur ' van de ' Tfs_Analysis ' database werd verwerkt.
Opmerking De verwerkingsfout heeft gevolgen voor database ontwerpen voor Analysis Services met gegevensbronnen die de beheerde .NET Framework-gegevens provider voor SQL Server gebruiken, namelijk System. data. SqlClient.
Oorzaak
Het probleem treedt op omdat een dubbele dimensie sleutelwaarde in de gegevensbron wordt gebruikt door de Analysis Services-verwerking.
Oplossing
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve update 1 voor SQL Server 2014 /en-us/help/2931693
Cumulatieve update 6 voor SQL Server 2012 SP1 /en-us/help/2874879
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:
Meer informatie
Nadat u de hotfix hebt toegepast, verloopt de verwerking overeenkomstig de instellingen voor de verwerking van foutinstellingen in plaats van op basis van interne fout symptomen. U kunt het gedrag regelen met de instelling dubbele sleutel wanneer u de SSAS-dimensies verwerkt. U kunt ook het gedrag beheren door de eigenschap ErrorConfiguration van de eigenschap ondupliceer te configureren wanneer u de afmetingen ontwerpt:
-
Wanneer de instelling voor IgnoreErroris ingesteld op de standaardinstelling voor het instellen van de instelling , worden er geen waarschuwingen gegeven wanneer er een dubbele sleutelwaarde wordt gevonden en de verwerking doorgaat.
-
Wanneer de instelling voor ReportAndContinue is ingesteld op , worden de fouten of waarschuwingen gerapporteerd. De verwerking wordt echter voortgezet.
-
Wanneer de instelling voor ReportAndStop is ingesteld op ReportAndStop, worden de fouten of waarschuwingen gerapporteerd en wordt de verwerking stopgezet.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Workaround
Als u het probleem tijdelijk wilt omzeilen, verwijdert u de ongeldige dubbele sleutel in de tabel dimensietabellen in SQL Server-database-engine. U kunt de volgende query gebruiken om de dubbele sleutel te zoeken:SELECT COUNT(WorkItemTreeSK) WorkItemTreeSKCount, WorkItemTreeSKFROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlayGROUP BY WorkItemTreeSKHAVING COUNT(WorkItemTreeSK) >1
Verwijzingen
Ga naar de volgende MSDN-website voor meer informatie over het verwerken van opties en instellingen:
Informatie over verwerkingsopties en instellingenGa naar de volgende MSDN-website voor meer informatie over het handmatig verwerken van het magazijn of de kubus:
Handmatig de datawarehouse-en Analysis Services-kubus voor Team Foundation Server verwerken