Síntomas
Suponga que usa Microsoft SQL Server 2014. Al intentar usar DatePart (Weekday) en un procedimiento almacenado compilado de forma nativa, se produce una infracción de acceso y la conexión finaliza. Además, recibe el siguiente error:
Se ha producido un error grave en el comando actual. Los resultados, si los hay, se deben descartar.
Causa
El problema se debe 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 es compatible con DateTimeOffset.
Resolución
Después de aplicar la revisión, SQL Server realizará un cambio para introducir una nueva lógica que convierte el argumento char en datetime2 para el procedimiento almacenado nativo y DateTimeOffset para el procedimiento almacenado normal y el plegamiento de constantes. El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 1 para SQL Server 2014 /en-us/help/2931693
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Para evitar el problema, convierta de forma explícita en un tipo DateTime admitido.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".