Sintomas
Considere o seguinte cenário:
-
Tem uma base de dados que tem o nível de isolamento snapshot ou de leitura de snapshot comprometido ativado no Microsoft SQL Server 2012 ou NO SQL Server 2014.
-
A base de dados contém uma tabela não vazia que tem um índice agrupado em várias colunas. A chave líder do índice agrupado está definida para NÃO NULA.
-
Começa-se uma transação e adiciona-se uma coluna na tabela. O valor desta coluna é atualizado.
-
Altera-se a chave líder do índice agrupado para permitir o valor NU.
-
Insere linhas com valores NULOS para a chave líder do índice agrupado e, em seguida, aborta a transação.
Neste cenário, o revés faz com que a base de dados seja suspeita e apenas "reparável" com o comando de REPAIR_ALLOW_DATA_LOSS DBCC. Além disso, poderá receber a seguinte mensagem de erro:
Msg 3316, Nível 21, Estado 2, Linha 135 Durante a destruição de uma operação registada na base de dados '%.*ls', ocorreu um erro no registo de registo de ID %S_LSN. A fila não foi encontrada. Restaurar a base de dados a partir de uma cópia de segurança completa, ou reparar a base de dados.
Resolução
Informações do pacote de serviços para SQL Server 2014
Para resolver este problema, obtenha o Service Pack 1 para o SQL Server 2014.
Para obter mais informações sobre o SQL Server 2014 Service Pack 1 (SP1), consulte os bugs que são corrigidos no SQL Server 2014 Service Pack 1.
Informações do pacote de serviços para SQL Server 2012
Para resolver este problema, obtenha o mais recente pacote de serviços para o Microsoft SQL Server 2012. Para mais informações, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:
2755533 Como obter o mais recente pacote de serviços para SQL Server 2012
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".