Simptome
Să presupunem că utilizați Microsoft SQL Server 2014. Atunci când încercați să utilizați datepart (zi lucrătoare) într-o procedură stocată nativ compilată, există o încălcare a accesului și conexiunea s-a încheiat. În plus, primiți următoarea eroare:
S-a produs o eroare severă la comanda curentă. Rezultatele, dacă este cazul, ar trebui eliminate.
Cauză
Problema apare deoarece un defect din SQL Server 2014. utilizarea datepart cu un argument char introduce o conversie implicită în datetimeoffset. Procedura stocată nativ nu acceptă datetimeoffset.
Rezolvare
După ce se aplică remedierea rapidă, SQL Server va face o modificare pentru a introduce o nouă logică pentru a efectua conversia argumentului char la DateTime2 pentru procedură stocată nativă și datetimeoffset pentru procedură stocată periodic și pliere constantă. Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
Actualizarea cumulativă 1 pentru SQL Server 2014 /en-us/help/2931693
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Soluție de evitare
Pentru a rezolva problema, efectuați conversia în mod explicit la un tip de DateTime acceptat.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.