Požymiai
Tarkime, naudojate sqlncli11.dll ODBC tvarkyklę norėdami pasiekti "Microsoft „SQL Server“ 2012" arba "„SQL Server“ 2014" programoje. Kai naudojate serverio žymiklį ir funkciją SQLFetch/ SQLGetData kai kuriems dvejetainių didelių objektų (BLOB) duomenims pasiekti „SQL Server“, ypač kyla didelių duomenų tipų, pvz., varbinary (max) arba varchar (max), veikimo problema.
Priežastis
Tai yra SQLFetch/ SQLGetData funkcijos diegimo "„SQL Server“ 2012 ODBC" tvarkyklėje projektavimo problema. Kai užklausa naudoja bet kuriuos serverio žymiklius, ODBC tvarkyklė iškviečia sp_cursorfetch SQLFetch diegimo metu ir serveris siunčia visą BLOB klientui. Tada, kai SQLGetData vykdomas, sp_cursor vėl pateikia visą BLOB. Tai daro didelę įtaką didelių duomenų tipų, pvz., varbinary (max) arba varchar (max), našumui.
Sprendimas
Kaupiamojo naujinimo informacija
Naujasis diegimas iškviečia sp_cursoroption, kad gautų TEXTPTR_ONLY prieš sp_cursorfetch, tada iškviečia sp_cursoroption, kad grąžintų jį į TEXTDATA prieš sp_cursor. Tai gali pagerinti efektyvumą.
Problema pirmą kartą buvo išspręsta šiame kaupiamajame „SQL Server“ naujinime.
- 1 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP1
- 7 kaupiamasis naujinimas, skirtas „SQL Server“ 2014
- 5 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP2
Rekomendacija: įdiekite naujausią "„SQL Server“" kaupiamąjį naujinimą
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Rekomenduojame atsisiųsti ir įdiegti naujausius kaupiamuosius "„SQL Server“" naujinimus:
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP1
- Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP2
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.