KB4469722 - CORREÇÃO: Mensagens de erro interno ao atualizar uma tabela do sistema de marcas de exclusão FILESTREAM no SQL Server

Aplica-se a
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomas

Suponha que você tenha um banco de dados habilitado para FILESTREAM em uma instância do Microsoft SQL SQL Server. Quando você inicia uma transação e usa a API .NET SqlFileStream para abrir um arquivo Filestream, a tarefa pode falhar e lançar uma exceção devido a fatores externos.

Se você abrir o arquivo novamente usando SqlFileStream na mesma transação e confirmação, poderá receber mensagens de erro internas semelhantes às seguintes:

Observação

data e hora, spids, Desconhecido, Erro: 5571<c/> Severidade: 23<c/> Estado: 3.
data hora, spids, Desconhecido, Interno Erro FILESTREAM: falha ao acessar a tabela de coleta de lixo.

Se você executar dbcc checktable ('sys.filestream_tombstone_2073058421'), poderá receber a seguinte mensagem de erro:

Observação

Msg 8951, Nível 16, Estado 1, Line LineNumber

Erro de tabela: table dbcc checktable ('sys.filestream_tombstone_2073058421') (ID IDNumber). A linha de dados não tem uma linha de índice correspondente no índice 'FSTSNCIdx' (IDIDNumber). Possíveis chaves ausentes ou inválidas para a correspondência da linha de índice:

Resolução

A correção para esse problema está incluída nas seguintes atualizações para o SQL Server:

Atualização cumulativa 13 para o SQL Server 2017

Atualização Cumulativa 1 para o SQL Server 2014 Service Pack 3

Atualização cumulativa 15 para o SQL Server 2014 Service Pack 2

Sobre compilações do SQL Server

Cada nova compilação do SQL Server contém todos os hotfixes e correções de segurança que estavam na compilação anterior. Recomendamos que você instale o build mais recente para a sua versão do SQL Server:

Versões de compilação do SQL Server 2017

Versões de compilação do SQL Server 2014

Solução alternativa

Para contornar esse problema, recompile o índice do banco de dados usando o comando DBCC CHECKTABLE .

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 padrão que a Microsoft usa para descrever atualizações de software.