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

Al ejecutar una actualización en una tabla que tiene un índice agrupado o único y la actualización se produce en una columna única no principal, el registro de seguimiento de cambios es incoherente con la instrucción update.

Por ejemplo, suponga que una columna denominada "columna1" se incluye en el índice agrupado o único. Cuando se cambia el valor de la columna de mayor a menor (como cambiar el valor de 20 a 16), la tabla lateral de seguimiento de cambios recibe la operación de inserción antes de la operación de eliminación. Por ejemplo, la operación insertar registro de fila del registro de transacciones se recibe antes de la operación eliminar fila, o "I" se inserta antes de "D".

Sys_change_version

sys_change_create_version

sys_change_operation

sys_change_column

sys_change_context

PK_column

1116

19

I

NULL

NULL

5639485628

1116

20

D

NULL

NULL

5639485628


Cuando el valor de la columna cambia de menor a mayor (como cambiar el valor de 16 a 20), se inserta "D" antes de "I".

Sys_change_version

sys_change_create_version

sys_change_operation

sys_change_column

sys_change_context

PK_column

1126

32

D

NULL

NULL

5639485628

1126

33

I

NULL

NULL

5639485628

Causa

Este problema se produce debido a un orden incorrecto entre pares de eliminación e inserción en la tabla lateral de seguimiento de cambios.

Solución

La corrección para este problema se incluye en las siguientes actualizaciones de SQL Server:

         Actualización acumulativa 8 de SQL Server 2017

         Actualización acumulativa 9 de SQL Server 2016 Service Pack 1

Actualización acumulativa 12 para SQL Server 2014 SP2

Acerca de las compilaciones de SQL Server

Cada nueva compilación de SQL Server contiene todas las revisiones y correcciones de seguridad que se encontraban en la compilación anterior. Te recomendamos que instales la compilación más reciente para SQL Server:

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

compilación más reciente para SQL Server 2016

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

Estado

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

Más información

Para una tabla habilitada para el seguimiento de cambios, cuando se produce una actualización en una columna no principal que se define como única, se insertan dos entradas en la tabla lateral de seguimiento de cambios: una entrada para cada una de las acciones de división, Insertar y Eliminar.

Cuando se llama a la función CAMBIARTABLE para enumerar los cambios, estas entradas se ordenan por valores de clave principal y, a continuación, las operaciones se agregan. Si la actualización inserta un valor inferior, se ejecuta primero una operación "I" en la tabla lateral, seguida de una operación "D". Esto provoca que se devuelva una operación incorrecta para esta fila. Esto se debe a que "I" seguido de "D" se agrega como "D".

Dado que solo se mantienen los valores de clave principal en las tablas laterales, no es necesario tener dos entradas independientes. Esto es así siempre y cuando no se actualice la columna de clave principal.

Este problema se ha corregido para las columnas únicas no principales. En este caso, cuando se produce la actualización, solo se inserta una fila con "U" como operación de actualización en lugar de dos entradas que tengan "D" e "I".

Referencias

Obtén información sobre la terminología que Microsoft usa 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!

×