Symptom
Anta att du använder en sqlncli11. dll ODBC-drivrutin för att få åtkomst till Microsoft SQL Server 2012 eller SQL Server 2014 i ett program. När du använder Server markören och funktionen SQLFetch/ SQLGetData för att komma åt vissa binärdata i SQL Server, inträffar ett prestanda problem speciellt för stora data typer som varbinary (max) eller varchar (max).
Orsak
Det här är ett design problem för implementering av funktionen SQLFetch/ SQLGetData i SQL Server 2012 ODBC-drivrutin. När frågan använder några Server markörer anropar ODBC-drivrutinen sp_cursorfetch under SQLFetch -implementeringen och servern skickar all blob till klienten. När SQLGetData körs får sp_cursor hela blobben igen. Det här påverkar prestandan för stora data typer som varbinary (max) eller varchar (max).
Lösning
Kumulativ uppdaterings information
Den nya implementeringen anropar sp_cursoroption att få TEXTPTR_ONLY före sp_cursorfetchoch sedan anropar sp_cursoroption för att sätta in den på TEXTDATA före sp_cursor. Det här kan förbättra prestandan. Problemet är först åtgärdat i den kumulativa uppdateringen av SQL Server.
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Vi rekommenderar att du laddar ner och installerar de senaste kumulativa uppdateringarna för SQL Server:
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".