Síntomas
Supongamos que usa Microsoft SQL Server 2014. Al intentar usar DatePart (día de la semana) en un procedimiento almacenado compilado de forma nativa, se produce una infracción de acceso y se finaliza la conexión. Además, recibe el siguiente error:
Nota
Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.
Causa
El problema se produce debido a un defecto en SQL Server 2014.
El uso de datepart con un argumento char introduce una conversión implícita a datetimeoffset. El procedimiento almacenado nativo no admite datetimeoffset.
Resolución
Después de aplicar la revisión, SQL Server realizará un cambio para introducir una nueva lógica para convertir el argumento char en datetime2 para el procedimiento almacenado nativo y datetimeoffset para el procedimiento almacenado normal y el plegado constante.
Este problema se corrigió por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 1 para SQL Server 2014 /en-us/help/2931693
Acerca de las actualizaciones acumulativas para SQL Server
Cada nueva actualización acumulativa para SQL Server contiene todas las revisiones y correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:
Solución alternativa
Para solucionar este problema, conviértalo explícitamente a un tipo de fecha y hora compatible.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".