KB2950209 — IZLABOTS: piekļuves pārkāpums, ja sākuma nobīde ir lielāka nekā virknes garums funkcijā Substring funkcijā SQL Server

Attiecas uz
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Pazīmes

Pieņemsim, ka izmantojat funkciju Substring (izteiksme, sākums, garums) Microsoft SQL Server 2012 1. servisa pakotnes (SP1), 1. kumulatīvajā atjauninājumā (CU1) un jaunākās versijās vai SQL Server 2014. Ja izteiksmes garums ir lielāks par 8000 un sākums ir lielāks par izteiksmes garumu, notiek piekļuves pārkāpums. Turklāt tiek parādīts šāds kļūdas ziņojums:

Piezīme

Pašreizējā komandā radās nopietna kļūda. Rezultāti, ja tādi ir, ir jāatmet.

Risinājums

Šī problēma pirmo reizi tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā.
Pēc labojumfaila lietošanas tiek atgriezta nulles garuma izteiksme, ja sākums ir lielāks par rakstzīmju skaitu vērtības izteiksmē.

1. kumulatīvais atjauninājums operētājsistēmai SQL Server 2012 SP2 /en-us/help/2976982

2. kumulatīvais atjauninājums sistēmai SQL Server 2014 /en-us/help/2967546

Kumulatīvais atjauninājums 10 operētājsistēmai SQL Server 2012 SP1 /en-us/help/2954099

Par SQL Server kumulatīvajiem atjauninājumiem

Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos SQL Server kumulatīvos atjauninājumus:

      

Statuss

Microsoft apstiprināja, ka šī ir problēma Microsoft produktos, kas norādīti sadaļā "attiecas uz".