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.

Síntomas

Suponga que usa Microsoft SQL Server 2016 o 2017. Al procesar transacciones de datos optimizadas para memoria mediante variables de tabla optimizadas para memoria con la instrucción where exists , es posible que obtenga un resultado incorrecto.

Por ejemplo:

Paso 1: Cree una base de datos y una tabla optimizada para memoria.

Demostración de Crear BASE DE DATOS

Demostración de ALTER DATABASE ADD FILEGROUP demo_mod CONTAINS MEMORY_OPTIMIZED_DATA 

DEMOSTRACIÓN DE ALTER DATABASE ADD FILE (name='demo_mod1', filename='C:\DATA\demo_mod1') TO FILEGROUP demo_mod 

Usar demostración

Ir

CREATE TYPE dbo. IN_MEMORY_TABLE_TYPE COMO TABLA

( source_col INT NULL,

target_col INT not NULL

INDEX ix_InMemoryTable NO AGRUPADO (target_col)

) WITH (MEMORY_OPTIMIZED = ACTIVADO)

GO 

Paso 2: Insertar datos y actualizar datos.

DECLARE @t dbo. IN_MEMORY_TABLE_TYPE

INSERT @t ( source_col, target_col ) VALUES (10, 0),(0, 0)

seleccionar * en @t

UPDATE r1 SET target_col = -1 FROM @t r1

WHERE EXISTS ( SELECT * FROM @t r2 WHERE r2.source_col > 0 )

SELECCIONE * EN @T

GO 

Paso 3: Compruebe los resultados.

Resultados reales: no todas las filas de variables de tabla @t actualizarse.

source_col | target_col

----------------------

10 | -1

0 | 0

Los resultados esperados: todas las filas deberían actualizarse para tener target_col = -1.

source_col | target_col

----------------------

10 | -1

0 | -1.

Solución

Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:

      Actualización acumulativa 1 para SQL Server 2017 

      Actualización acumulativa 5 para SQL Server 2016 SP1

Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:

Actualización acumulativa más reciente de SQL Server 2017

Actualizaciones acumulativas más recientes para SQL Server 2016

Estado

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

Referencias

Obtén información sobre la terminologíaque usa Microsoft para describir las actualizaciones de software.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿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?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×