Applies ToSQL 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)

Příznaky

Předpokládejme, že pro přístup k Microsoft SQL serveru 2012 nebo SQL Server 2014 v aplikaci používáte ovladač ODBC sqlncli11. dll. Při použití kurzoru serveru a funkce SQLFetch/ SQLGetData k získání přístupu k některým binárním datům rozsáhlého objektu (BLOB) na serveru SQL Server dochází k problému s výkonem, který je obzvláště pro velké datové typy, jako je třeba (max) nebo varchar (max).

Příčina

Jedná se o problém s návrhem pro implementaci funkce SQLFetch/ SQLGETDATA v ovladači SQL Server 2012 ODBC. Když dotaz používá libovolné serverové kurzory, ovladač ODBC vyvolá sp_cursorfetch během implementace SQLFetch a server pošle všem objektům blob klientovi. Po SQLGetDatasp_cursor se pak znovu převede celý objekt BLOB. To významně ovlivňuje výkon pro velké datové typy, jako je varbinary (max) nebo varchar (max).

Řešení

Informace o kumulativní aktualizaci

Nová implementace vyvolá sp_cursoroption pro získání TEXTPTR_ONLY před sp_cursorfetcha pak vyvolá SP_CURSOROPTION pro jeho vrácení do TextData před sp_cursor. Tím se zlepší výkon. Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.