Проблемы
Предположим, что вы используете Microsoft SQL Server 2014. При попытке использовать DATEPART (Weekday) в хранимой процедуре, скомпилированной в машинном коде, возникает нарушение прав доступа и подключение завершается. Кроме того, появляется следующее сообщение об ошибке:
При текущей команде возникла серьезная ошибка. Результаты, если таковые имеются, должны быть удалены.
Причина
Эта проблема возникает из-за ошибки в SQL Server 2014. Использование функции DatePart с аргументом "символ" приводит к неявному преобразованию в DateTimeOffset. Собственная хранимая процедура не поддерживает DateTimeOffset.
Решение
После применения исправления SQL Server вносит изменения в новый алгоритм преобразования аргумента char в datetime2 для собственной хранимой процедуры и значения DateTimeOffset для обычных хранимых процедур и сложения констант. Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 1 для SQL Server 2014 /en-us/help/2931693
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Обходное решение
Чтобы обойти эту ошибку, явно преобразуйте ее в поддерживаемый тип DateTime .
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".