KB2876882 - CORRECCIÓN: "Error interno: se ha producido un error inesperado" al ejecutar un comando "Proceso" en el cubo TFS SSAS

Se aplica a
SQL Server 2012 Analysis Services

Esta revisión también se aplica a Microsoft SQL Server 2014 Analysis Services (SSAS 2014).

Síntomas

Supongamos que tiene algunas dimensiones en el cubo (Tfs_Analysis) de Microsoft SQL Server 2012 Analysis Services (SSAS 2012) o SQL Server 2014 Analysis Services (SSAS 2014) que contiene los datos de Microsoft Visual Studio Team Foundation Server (TFS). Si ejecuta un comando Proceso en las dimensiones, el proceso puede fallar y recibirá el mensaje de error siguiente:

Nota

Error interno: Se produjo un error inesperado (archivo 'pfiallocator.cpp', línea 822, función 'PFMemoryHolder::RegisterMemoryHolder').

Si usa SQL Profiler para rastrear el problema, el seguimiento muestra que se produce el siguiente mensaje de error durante el comando ProcessFull en la dimensión vDimWorkItemTreeOverlay:

Nota

Error interno: Se produjo un error inesperado (archivo 'pfiallocator.cpp', línea 822, función 'PFMemoryHolder::RegisterMemoryHolder'). Errores en el motor de almacenamiento OLAP: Se ha producido un error mientras se procesaba el atributo "WorkItemTreeSK" de la dimensión "Árbol de elementos de trabajo" de la base de datos "Tfs_Analysis".

Nota: El error de procesamiento afecta a los diseños de base de datos de Analysis Services que tienen orígenes de datos que usan el proveedor de datos administrado .NET Framework para SQL Server, que es System.Data.SqlClient.

Causa

El problema se produce porque el procesamiento de Analysis Services utiliza un valor de clave de dimensión duplicado en el origen de datos.

Resolución

Este problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server.

Actualización acumulativa 1 para SQL Server 2014 /en-us/help/2931693

Actualización acumulativa CU 38 para SQL Server 2012 SP1 /en-us/help/2874879

Acerca de las actualizaciones acumulativas para SQL Server

Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:

      

Más información

Después de aplicar la revisión, el procesamiento se comportará según la configuración del error de procesamiento en lugar de según los síntomas de error internos.

Puede controlar el comportamiento utilizando la configuración de clave Duplicar al procesar las dimensiones de SSAS. O bien, puede controlar el comportamiento configurando la propiedad KeyDuplicate de la propiedad ErrorConfiguration de la siguiente manera al diseñar las dimensiones:

  • Cuando la configuración de KeyDuplicate se establece en la configuración predeterminada IgnoreError, no hay advertencias cuando se encuentra un valor de clave duplicado y el procesamiento continúa.
  • Cuando la configuración de KeyDuplicate se establece en ReportAndContinue, se notifican los errores o advertencias. Sin embargo, el procesamiento continúa.
  • Cuando la configuración de KeyDuplicate se establece en ReportAndStop, se notifican los errores o advertencias y se detiene el procesamiento.

      

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Solución alternativa

Para solucionar este problema, elimine la clave duplicada no válida en las tablas de dimensiones del almacén de datos en el Motor de base de datos de SQL Server. Puede usar la consulta siguiente para buscar la clave duplicada:SELECT COUNT(WorkItemTreeSK), WorkItemTreeSKCount, WorkItemTreeSK
FROM [Tfs_Warehouse].dbo.vDimWOrkItemTreeOverlay
GROUP BY WorkItemTreeSK
HAVING COUNT(WorkItemTreeSK) >1

Referencias

Para obtener más información acerca de las opciones y la configuración de procesamiento, vaya al siguiente sitio web de MSDN:

Información sobre las opciones y la configuración de procesamiento Para obtener más información sobre cómo procesar el almacén o el cubo manualmente, vaya al siguiente sitio web de MSDN:

Procesar manualmente el almacén de datos y el cubo de Analysis Services para Team Foundation Server