Symptomen
U wordt aangeraden een ODBC-stuurprogramma van sqlncli11. dll te gebruiken om toegang te krijgen tot Microsoft SQL Server 2012 of SQL Server 2014 in een toepassing. Wanneer u servercursor gebruikt en de SQLFetch/ SQLGetData -functie gebruiken om toegang te krijgen tot bepaalde binaire large object-gegevens in SQL Server, treedt een prestatieprobleem op, vooral voor grote gegevenstypen, zoals varbinary (max) of varchar (max).
Oorzaak
Dit is een ontwerp probleem voor de implementatie van de SQLFetch/ SQLGetData -functie in het ODBC-stuurprogramma van SQL Server 2012. Wanneer de query een servercursor gebruikt, roept het ODBC-stuurprogramma sp_cursorfetch tijdens de SQLFetch -implementatie en stuurt de server alle BLOB naar de client. Wanneer SQLGetData wordt uitgevoerd, wordt de hele BLOB opnieuw weergeven sp_cursor . Dit is van invloed op de prestaties van grote gegevenstypen, zoals varbinary (max) of varchar (max).
Oplossing
Cumulatieve update gegevens
De nieuwe implementatie onderroept sp_cursoroption om TEXTPTR_ONLY vóór de sp_cursorfetchte verkrijgen en vervolgens aan te roepen sp_cursoroption om de sp_cursorterug te zetten naar TEXTDATA. Dit kan de prestaties verbeteren. Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. U wordt aangeraden de nieuwste cumulatieve updates voor SQL Server te downloaden en te installeren:
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.