KB2938460 – PATAISYMAS: Prieigos pažeidimas įvyksta, kai bandote naudoti datepart (weekday) vietoje kompiliuotoje įrašytoje procedūroje „SQL Server“ 2014"

Taikoma
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Požymiai

Tarkime, naudojate "Microsoft „SQL Server“ 2014". Kai bandote naudoti datepart (weekday) vietoje sukompiliuotoje įrašytoje procedūroje, įvyksta prieigos pažeidimas ir ryšys nutraukiamas. Be to, gaunate šį klaidos pranešimą:

Pastaba

Dabartinėje komandoje įvyko rimta klaida. Rezultatus, jei tokių yra, reikia atmesti.

Priežastis

Problema kyla dėl "„SQL Server“ 2014" defekto.
Naudojant datepart su simbolio argumentu įvyksta netiesioginis konvertavimas į datetimeoffset. Vietinė įrašytoji procedūra nepalaiko datetimeoffset.

Sprendimas

Pritaikius karštąją pataisą, „SQL Server“ atliks pakeitimą, kad įvestų naują logiką, pagal kurią char argumentas konvertuojamas į datetime2 vietinei saugomai procedūrai ir datetimeoffset įprastai saugomai procedūrai ir nuolatiniam lankstymui.
Problema pirmą kartą buvo išspręsta šiame kaupiamajame „SQL Server“ naujinime.

1 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 /en-us/help/2931693

Apie kaupiamuosius „SQL Server“ naujinimus

Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:

      

Sprendimo būdas

Norėdami išspręsti šią problemą, aiškiai konvertuokite į palaikomą datetime tipą.

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.