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, recebe o seguinte erro:
Nota
Ocorreu um erro grave no comando atual. Os resultados, se houver, devem ser descartados.
Causa
O problema ocorre devido a um defeito no SQL Server 2014.
O uso de datepart com um argumento char introduz uma conversão implícita para datetimeoffset. O procedimento armazenado nativo não suporta datetimeoffset.
Resolução
Depois que o hotfix for aplicado, SQL Server fará uma alteração para introduzir uma nova lógica para converter o argumento char para datetime2 para procedimento armazenado nativo e datetimeoffset para procedimento armazenado regular e dobramento constante.
O problema foi corrigido na atualização cumulativa seguinte do SQL Server.
Atualização Cumulativa 1 para SQL Server 2014 /pt-PT/help/2931693
Acerca das atualizações cumulativas para SQL Server
Cada nova atualização cumulativa para 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. Consulte as atualizações cumulativas mais recentes para SQL Server:
Solução
Para contornar o problema, converta explicitamente para um tipo datetime suportado.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".