Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Microsoft distribuye las soluciones Microsoft SQL Server 2008 R2 Service Pack 2 (SP2) como un archivo que se puede descargar. Debido a que las correcciones son acumulativas, cada versión nueva contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2 Service Pack 2.

Síntomas

Es posible que reciba resultados incorrectos al ejecutar una consulta en Microsoft SQL Server 2008 R2 SP2 o en Microsoft SQL Server 2012 cuando se cumplan las condiciones siguientes:

  • La consulta usa una cláusula Cross Apply sobre el resultado de una cláusula de combinación completa .

  • Los datos de la tabla se proporcionan mediante una llamada a una función con valores de tabla definida por el usuario en la cláusula de combinación completa .

  • La función acepta un nombre de columna como parámetro y devuelve los resultados en forma de tabla.

Por ejemplo, se ejecuta una consulta que es similar a la siguiente:

SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s  

Nota Este problema no se produce en Microsoft SQL Server 2012.

Resolución

Información sobre la actualización acumulativa

Actualización acumulativa 7 para SQL Server 2012

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

2823247 Paquete de actualización acumulativa 7 para SQL Server 2012Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2012. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2692828 Las compilaciones de SQL Server 2012 que se publicaron después de que se publicó SQL Server 2012

Actualización acumulativa 3 para SQL Server 2012 SP1

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

2812412 Paquete de actualización acumulativa 3 para SQL Server 2012 Service Pack 1Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2012 SP1. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2772858 Las compilaciones de SQL Server 2012 que se lanzaron después de publicar SQL Server 2012 Service Pack 1

Actualización acumulativa 5 para SQL Server 2008 R2 SP2

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

2797460 Paquete de actualización acumulativa 5 para SQL Server 2008 R2 Service Pack 2Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2 SP 2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2730301 Las compilaciones de SQL Server 2008 R2 que se publicaron después de que se publicó SQL Server 2008 R2 Service Pack 2

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".

Solución alternativa

Para solucionar este problema, use la cláusula join de combinación completa en lugar de una cláusula de combinación completa . Por ejemplo, puede cambiar la consulta que se menciona en la sección "síntomas" para que la consulta se asemeje a la siguiente:

SELECT * FROM tablename CROSS APPLY (    SELECT * FROM        (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'New') s1     FULL MERGE JOIN         (SELECT * FROM [dbo].[func_GetTableFromXml](xmlColumn) WHERE nodeParentName = 'Old') s2     ON s1.nodeName = s2.nodeName    ) s 

Más información

Para obtener más información sobre cómo usar la cláusula Cross Apply , vaya al siguiente sitio web de Microsoft TechNet:

Información general sobre cómo usar la cláusula CROSS APPLY

¿Necesita más ayuda?

Ampliar sus conocimientos

Explorar los cursos >

Obtener nuevas características primero

UNIRSE A MICROSOFT 365 INSIDERS >

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?

¡Gracias por sus comentarios!

×