Entrar com a conta da Microsoft
Entre ou crie uma conta.
Olá,
Selecione uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

Sintomas

Suponha que você tenha uma tabela que tenha um índice columnstore clusterizado no Microsoft SQL Server 2014. Você executa uma consulta DDL na tabela para alterar o tipo de dados de uma coluna existente. Por exemplo, você atualiza o tipo de dados para Column_1 de Table_1 de VARCHAR (499) para NVARCHAR (500) executando o seguinte comando:

ALTER TABLE Table_1 ALTER COLUMN Column_1 NVARCHAR(500) NOT NULL

Nessa situação, ocorrem várias falhas de asserção e você recebe a seguinte mensagem de erro:

Location: caminho do arquivo <> \Xmcolenc.inl: 413Expression: PF_CURRENT_STATUS = = PFS_OK (em XMColumnEncoder<caractere não assinado *>:: EncodeValueForSecondary) spid: <SPID>ID do processo: <identificação do processo >descrição: hr: 0X0Location : < SPID> Process \xmerror.cpp: 43Expression: 0 (em PFSetLastError) SPID: <SPID>ID do processo: <identificação do processo>: hr: 0x0

Além disso, vários arquivos de despejo de memória são gerados na pasta de log de erros do SQL Server e várias mensagens de erro semelhantes às seguintes são registradas no log de erros do SQL Server:

<data e hora> SPID<ID> * * * despejo de pilha sendo enviado para <nome do disco>: \Arquivos de Programas\Microsoft SQL Server\MSSQL12. SQL2014\MSSQL\LOG\SQLDump0002.txt<data/hora> spid <ID> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * <data e hora> SPID<ID> * <data hora> spid<ID> * iniciar despejo de pilha: <Data e hora> SPID<ID> * <data hora> SPID<id><data hora> SPID<ID> * compilação do servidor privado. <data e hora> SPID<ID> * <data e hora> spid<ID> * local: caminho do arquivo <> \xmcolenc.inl: 413<data hora> SPID<id> * expressão: PF_CURRENT_STATUS = = PFS_OK<data hora> SPID<ID> * (em XMColumnEncoder<caractere não assinado *>:: EncodeValueForSecondary) <data e hora> SPID<ID> * SPID: 60<data hora> SPID<ID> * SPID : 3680<data/hora> spid <ID> * Descrição: 0x0:0x0<data e hora> SPID<ID> * <data hora> SPID<ID> * buffer de entrada 136 bytes-<data hora> SPID<ID> * ALTER TABLE Table_1 ALTER COLUMN Col1 nvarchar (500) não nulo;

Resolução

Depois de aplicar esse hotfix, você pode receber a seguinte nova mensagem de erro quando a consulta DDL falhar:

Falha na instrução ALTER TABLE porque um dicionário secundário atingiu o limite de tamanho máximo. Considere remover o índice columnstore, alterar a coluna e criar um novo índice de columnstore

Esta correção também evita que os arquivos de despejo de memória sejam gerados no log de erros do SQL Server. o problema foi corrigido primeiro nas seguintes atualizações cumulativas do SQL Server:

Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Recomendamos que você baixe e instale as atualizações cumulativas mais recentes do SQL Server:

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?

Obrigado pelos seus comentários!

×