KB3041859-Labojums: veiktspējas problēma rodas, ja izmantojat sqlncli11. dll ODBC draiveri, lai piekļūtu SQL Server lietojumprogrammā

Simptomi

Pieņemsim, ka lietojumprogrammā izmantojat sqlncli11. dll ODBC draiveri, lai piekļūtu Microsoft SQL Server 2012 vai SQL Server 2014. Ja izmantojat servera kursoru un funkciju SQLFetch/ SQLGetData , lai piekļūtu dažiem binārajiem liela objekta (BLOB) datiem SQL Server, veiktspējas problēma rodas, jo īpaši lieliem datu tipiem, piemēram, varbinary (max) vai varchar (max).

Cēlonis

Šī ir noformējuma problēma, kas attiecas uz funkcijas SQLFetch/ SQLGetData īstenošanu SQL Server 2012 ODBC draiverī. Kad vaicājums izmanto jebkurus servera kursorus, ODBC draiveris izsauc Sp_cursorfetchSQLFetch ieviešanas laikā un serveris nosūta visu BLOB klientam. Pēc tam, kad tiek izpildīta SQLGetData , sp_cursor atkal atnes visu BLOB. Tas ievērojami ietekmē lielu datu tipu veiktspēju, piemēram, varbinary (max) vai varchar (max).

Risinājums

Kumulatīvās atjaunināšanas informācija

Jaunā implementēšana atsaucas uz sp_cursoroption , lai iegūtu TEXTPTR_ONLY pirms sp_cursorfetch, un pēc tam atsaucas sp_cursoroption , lai to atkal ieslēgtu TEXTDATA pirms sp_cursor. Tas var uzlabot veiktspēju. Šī problēma pirmo reizi tika izlabota tālāk sniegtajā SQL Server kumulatīvajā atjauninājumā.

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

Statusa

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

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×