KB2606211 - CORRECCIÓN: Error cuando una consulta MDX compleja tiene la cláusula NONEMPTY en SSAS 2008 R2 o en SSAS 2012 si la cláusula WHERE tiene un conjunto con nombre

Se aplica a
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web

Microsoft distribuye las correcciones de Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) o Microsoft SQL Server 2012 como un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y actualizaciones de seguridad que se incluyeron con la versión anterior de actualización de SQL Server 2008 R2 Service Pack 1 (SP1) o SQL Server 2012.

Síntomas

Tenga en cuenta el siguiente escenario:

  • Ejecuta una consulta compleja de expresiones multidimensionales (MDX) en una instancia de Microsoft SQL Server 2008 R2 Analysis Services (SSAS 2008 R2) o una instancia de Microsoft SQL Server 2012 Analysis Services (SSAS 2012).

  • Las siguientes condiciones se cumplen para la consulta MDX:

    • La consulta MDX usa la función NONEMPTY.
    • La cláusula WHERE de la consulta MDX tiene un conjunto con nombre.
    • Un conjunto de ejes de la consulta MDX y el conjunto con nombre usan jerarquías de las mismas dimensiones.

En esta situación, puede aparecer el siguiente mensaje de error:

Nota

La expresión contiene una función que no puede funcionar en un conjunto con más de 4 294 967 296 tuplas.

Nota: Este problema también se produce en Microsoft SQL Server 2008 Analysis Services (SSAS 2008).

Resolución

Información sobre la actualización acumulativa

SQL Server 2012

La corrección para este problema se publicó por primera vez en la actualización acumulativa 1 para SQL Server 2012. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2679368 paquete de actualización acumulativa 1 para SQL Server 2012Nota: Dado que las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2012. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2692828 Compilaciones de SQL Server 2012 que se publicaron después de SQL Server de 2012 Debe aplicar una revisión de SQL Server 2012 a una instalación de SQL Server 2012.

Paquete de actualización acumulativa 3 para SQL Server 2008 R2 SP1

La corrección de este problema se publicó por primera vez en el paquete de actualización acumulativa 3. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2 SP1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2591748 paquete de actualización acumulativa 3 para SQL Server 2008 R2 SP1Nota: Dado que las compilaciones son acumulativas, cada nueva versión de actualización contiene todas las revisiones y actualizaciones de seguridad que se incluyeron con la versión de actualización anterior de SQL Server 2008 R2 SP1. Recomendamos que se plantee la posibilidad de aplicar la versión de actualización más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2567616 Las compilaciones SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2 SP1

Solución alternativa

Para solucionar este problema, utilice la cláusula NON EMPTY en lugar de la función NONEMPTY y elimine las diferentes granularidades u otros tipos de conjuntos de formas arbitrarias en la cláusula WHERE.

Estado

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