KB4078097 - CORREÇÃO: A função NEWSEQUENTIALID gera GUID duplicado após o SQL Server 2017 no Linux é reiniciado

Aplica-se 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

Sintomas

Suponha que você use a função NEWSEQUENTIALID() para gerar GUID exclusivo para uma tabela no SQL Server 2017 no Linux. Depois de reiniciar o SQL Server, a função NEWSEQUENTIALID() poderá gerar um GUID que é um duplicado de um GUID anterior gerado por esta função.

Mais Informações

SQL Server em Linux armazena a semente UUID sequencial em /var/opt/mssql/.system/instance_id e incrementa-a durante a inicialização. Faça um backup do arquivo instance_id em caso de falha do sistema. Se o arquivo for perdido, a semente estará faltando e a nova semente será regenerada. A geração inicial de sementes é baseada em um padrão de bits aleatório e um UUID para evitar colisões. No entanto, a nova semente que tem de ser ordenada sequencialmente não pode ser ordenada sequencialmente depois de a semente se perder.

Resolução

Este problema foi corrigido na seguinte atualização cumulativa para SQL Server:

Atualização cumulativa 4 para SQL Server 2017

Acerca das atualizações cumulativas para SQL Server:

Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:

Atualização cumulativa mais recente para o SQL Server 2017

Estado

A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".

Referências

Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.