KB3211338 - CORREÇÃO: Um erro de asserção ocorre quando você insere dados em uma tabela otimizada para memória que contém um índice columnstore clusterizado no SQL Server 2016

Aplica-se a
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Sintomas

Tenha em conta o seguinte cenário ao utilizar o SQL Server 2016:

  • Você cria um índice columnstore clusterizado em uma tabela com otimização de memória que contém uma coluna de cadeia de caracteres de tipo de dados (por exemplo, nchar ou nvarchar).
  • O comprimento dos dados da coluna é de 32 bytes (por exemplo, nchar(16) ou nvarchar(16)).
  • Os dados na coluna são exclusivos ou quase exclusivos e o tamanho dos dados é de 32 bytes.

Nesse cenário, quando você insere dados nesta tabela, você pode receber o seguinte erro assert no log de erro SQL Server:

Observação

vldPageCount <= SegmentsTableRow::MaxSerializedPages

      

Resolução

Este problema foi corrigido nas seguintes atualizações cumulativas para SQL Server:

Observação Depois de instalar a atualização, você deve definir o sinalizador de rastreamento 9968 para habilitar a correção. Para definir o sinalizador de rastreamento 9968, consulte o tópico Sinalizadores de rastreamento (Transact-SQL) no site Microsoft Developer Network (MSDN).

Sobre atualizações cumulativas para o SQL Server

Cada nova compilação para o SQL Server 2016 contém todos os hotfixes e correções de segurança que foram incluídos na compilação anterior. Recomendamos que instale as atualizações cumulativas mais recentes para SQL Server:

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

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

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