Sintomi
Supponiamo che tu usi Microsoft SQL Server 2014. Quando si prova a usare DatePart (giorno della settimana) in una stored procedure compilata in modo nativo, esiste una violazione di accesso e la connessione viene terminata. Viene inoltre visualizzato il seguente messaggio di errore:
Si è verificato un grave errore nel comando corrente. I risultati, se presenti, devono essere eliminati.
Causa
Il problema si verifica perché un difetto in SQL Server 2014. l'uso di DatePart con un argomento char introduce una conversione implicita in DateTimeOffset. La stored procedure nativa non supporta DateTimeOffset.
Risoluzione
Dopo l'applicazione dell'hotfix, SQL Server apporterà una modifica per introdurre una nuova logica per convertire l'argomento char in datetime2 per la stored procedure nativa e DateTimeOffset per la stored procedure regolare e la piegatura costante. Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 1 per SQL Server 2014 /en-us/help/2931693
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Soluzione alternativa
Per risolvere il problema, eseguire la conversione esplicita in un tipo DateTime supportato.
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".