KB2938460 - CORREÇÃO: ocorre uma violação de acesso quando você tenta usar datepart (dia da semana) em um procedimento armazenado compilado nativamente no SQL Server 2014

Aplica-se a
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

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 o seguinte erro:

Observação

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 dá suporte a datetimeoffset.

Resolução

Depois que o hotfix for aplicado, o SQL Server fará uma alteração para introduzir uma nova lógica para converter o argumento char em datetime2 para procedimento armazenado nativo e datetimeoffset para procedimento armazenado regular e dobramento constante.
O problema foi corrigido pela primeira vez na atualização cumulativa seguinte do SQL Server.

Atualização cumulativa 1 para SQL Server 2014 /pt-br/help/2931693

Sobre atualizações cumulativas para o SQL Server

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 para o SQL Server:

      

Solução alternativa

Para contornar o problema, converta explicitamente em um tipo de data e hora com suporte.

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".