Sintomas
Considere o seguinte cenário:
-
Ativa o rastreio de alterações numa base de dados no Microsoft SQL Server 2012.
-
Executou uma consulta que utiliza a função de rastreio de alteração do sistema CHANGE_TRACKING_CURRENT_VERSION().
-
O SQL Server tenta utilizar um plano de execução de consultas paralelas para executar a consulta.
Neste cenário, ocorre uma violação de acesso e poderá receber a seguinte mensagem de erro:
Msg 0, Nível 11, Estado 0, Erro grave da linha 0A ocorreu no comando atual. Os resultados, se houver, devem ser descartados.
Causa
A questão ocorre porque a função CHANGE_TRACKING_CURRENT_VERSION() não pode ser executada corretamente em paralelo.
Resolução
O problema foi corrigido pela primeira vez na seguinte atualização cumulativa do SQL Server.
Atualização Cumulativa 6 para SQL Server 2012 SP1 /en-us/help/2874879
Cada nova atualização cumulativa do 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. Confira as últimas atualizações cumulativas do SQL Server:
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Solução
Para contornar o problema, utilize a sugestão OPTION (MAXDOP 1) na consulta.