Symptomer
Anta at du bruker Microsoft SQL Server-2014. Når du prøver å bruke datepart (ukedag) i en opprinnelig kompilerte lagret prosedyre, det er et brudd på tilgangstillatelse, og tilkoblingen er avsluttet. I tillegg får du følgende feilmelding:
Det oppstod en alvorlig feil på gjeldende kommando. Resultatene, bør om noen, forkastes.
Årsak
Dette problemet oppstår fordi en feil i SQL Server-2014.
Ved hjelp av datepart med en char-argumentet introduserer en implisitt konvertering til datetimeoffset. Opprinnelig lagret prosedyre støtter ikke datetimeoffset.Oppløsning
Når hurtigreparasjonen er brukt, vil SQL Server gjøre en endring til å introdusere nye logikk til å konvertere tegn-argumentet til datetime2 for opprinnelig lagrede prosedyren og datetimeoffset for vanlige lagret prosedyre og konstant brette.
Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.Samleoppdatering 1 for SQLServer-2014/en-us/help/2931693
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Løsningen
Hvis du vil omgå problemet, eksplisitt vil konvertere til en støttet datetime -type.
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".