Microsoft distribuye Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 Service Pack 1 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 SQL Server 2008 Service Pack 1 o SQL Server 2008 R2 Fix.

Síntomas

Al ejecutar una instrucción Insert Select Union All en sql Server 2008 o en sql Server 2008 R2, el resultado de la instrucción puede ser incorrecto si se usa una tabla de origen de la cláusula Select como la tabla de destino de la cláusula Insert . Por ejemplo, ejecute las siguientes instrucciones para crear cuatro tablas:

CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME) Los valores se insertan en las tablas TabA, Taby TabD y, a continuación, se ejecutan las siguientes instrucciones Insert :

INSERT INTO [TabC] (P, M, A) SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALL SELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GOEn este escenario, recibirá resultados incorrectos y algunos registros no se insertan correctamente en la tabla TabC .

Resolución

Información sobre la actualización acumulativa

Service Pack 3 de SQL Server 2008

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

2617146 Paquete de actualización acumulativa 1 para SQL Server 2008 Service Pack 3Nota 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. Microsoft recomienda 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:

2629969 Las compilaciones de SQL Server 2008 que se lanzaron después de que se publicó SQL Server 2008 Service Pack 3 Los Hotfix 2008 de Microsoft SQL Server se crean para determinados Service Packs de SQL Server. Debe aplicar una revisión de SQL Server 2008 Service Pack 3 a una instalación de SQL Server 2008 Service Pack 3. De forma predeterminada, cualquier Hotfix proporcionado en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.

SQL Server 2008 R2

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

2567713 Paquete de actualización acumulativa 9 para SQL Server 2008 R2 Nota 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. 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:

981356 Las compilaciones de SQL Server 2008 R2 que se lanzaron después de publicar SQL Server 2008 R2

Service Pack 1 de SQL Server 2008 R2

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

2567714 Paquete de actualización acumulativa 2 para SQL Server 2008 R2 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 2008 R2. 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:

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

Service Pack 2 de SQL Server 2008

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

2555408 Paquete de actualización acumulativa 5 para SQL Server 2008 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. Microsoft recomienda 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:

2402659 Las compilaciones de SQL Server 2008 que se lanzaron después de que se publicó SQL Server 2008 Service Pack 2 Los Hotfix 2008 de Microsoft SQL Server se crean para determinados Service Packs de SQL Server. Debe aplicar una revisión de SQL Server 2008 Service Pack 2 a una instalación de SQL Server 2008 Service Pack 2. De forma predeterminada, cualquier Hotfix proporcionado en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.

Actualización acumulativa 14 de SQL Server 2008 Service Pack 1

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

2527187 Paquete de actualización acumulativa 14 para SQL Server 2008 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 2008. Microsoft recomienda 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:

970365 Las compilaciones de SQL Server 2008 que se lanzaron después de publicar SQL Server 2008 Service Pack 1 Los Hotfix 2008 de Microsoft SQL Server se crean para determinados Service Packs de SQL Server. Debe aplicar una revisión de SQL Server 2008 Service Pack 1 a una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier Hotfix proporcionado en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.

Estado

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

¿Necesita más ayuda?

Ampliar sus conocimientos

Explorar los cursos >

Obtener nuevas características primero

Unirse a Microsoft Insider >

¿Le ha sido útil esta información?

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

¡Gracias por sus comentarios!

×