Attiecas uz
SQL Server 2012 Developer SQL Server 2012 Enterprise 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)

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".

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.