KB4078097 - CORRECCIÓN: La función NEWSEQUENTIALID genera GUID duplicado después de SQL Server 2017 en Linux se reinicia

Se aplica a
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Standard on Linux

Síntomas

Supongamos que usa la función NEWSEQUENTIALID() para generar un GUID único para una tabla de SQL Server 2017 en Linux. Después de reiniciar SQL Server, la función NEWSEQUENTIALID() puede generar un GUID duplicado de un GUID anterior generado por esta función.

Más información

SQL Server en Linux almacena la semilla UUID secuencial en /var/opt/mssql/.system/instance_id y la incrementa durante el inicio. Realiza una copia de seguridad del archivo instance_id en caso de que se produzca un error del sistema. Si el archivo se pierde, falta la semilla y se vuelve a generar la nueva semilla. La generación inicial de semillas se basa en un patrón de bits aleatorio y un UUID para evitar colisiones. Sin embargo, la nueva semilla que debe ordenarse secuencialmente puede no ordenarse secuencialmente después de que se pierde la semilla.

Resolución

Este problema se corrige en la siguiente actualización acumulativa para SQL Server:

Actualización acumulativa 4 para SQL Server 2017

Acerca de las actualizaciones acumulativas para SQL Server:

Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:

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

Estado

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

Referencias

Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.