Sintomas
Considere o seguinte cenário:
-
Você habilita o controle de alterações em um banco de dados no Microsoft SQL Server 2012.
-
Você executa uma consulta que usa a função de controle de alterações do sistema CHANGE_TRACKING_CURRENT_VERSION ().
-
O SQL Server tenta usar um plano de execução de consulta paralela para executar a consulta.
Nesse cenário, ocorre uma violação de acesso, e você pode receber a seguinte mensagem de erro:
MSG 0, nível 11, estado 0, erro de linha 0A grave ocorreu no comando atual. Os resultados, se houver, devem ser descartados.
Causa
O problema ocorre porque a função CHANGE_TRACKING_CURRENT_VERSION () não pode ser executada corretamente em paralelo.
Resolução
O problema foi corrigido primeiro na atualização cumulativa a seguir 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 incluídas na atualização cumulativa anterior. Confira 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".
Solução alternativa
Para contornar o problema, use a dica Option (MAXDOP 1) na consulta.