Sintomas
Suponha que você use o Microsoft SQL Server 2014. Quando você tenta usar DATEPART (dia da semana) em um procedimento armazenado compilado nativamente, há uma violação de acesso e a conexão é encerrada. Além disso, você recebe a seguinte mensagem de erro:
Ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.
Causa
O problema ocorre porque um defeito no SQL Server 2014. usando datepart com um argumento Char introduz uma conversão implícita em DateTimeOffset. O procedimento armazenado nativo não oferece suporte a DateTimeOffset.
Resolução
Após a aplicação do hotfix, o SQL Server fará uma alteração para apresentar nova lógica para converter o argumento Char em datetime2 para datetime2 para o procedimento armazenado nativo e DateTimeOffset para procedimentos armazenados regulares e dobramento de constante. O problema foi corrigido primeiro na atualização cumulativa a seguir do SQL Server.
Atualização cumulativa 1 para SQL Server 2014 /en-us/help/2931693
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:
Solução alternativa
Para contornar o problema, converta explicitamente para um tipo DateTime compatível.
Status
A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".