S’applique à
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)

Symptômes

Supposez que vous utilisez un pilote ODBC SQLNCLI11. dll pour accéder à Microsoft SQL Server 2012 ou à SQL Server 2014 dans une application. Lorsque vous utilisez le curseur serveur et la fonction SQLFetch/ SQLGetData pour accéder à des données de type BLOB (Binary volumineux Object) dans SQL Server, un problème de performance se produit en particulier pour les types de données volumineux (par exemple, varbinary (max) ou varchar (max).

Cause

Il s’agit d’un problème de conception de l’implémentation de la fonction SQLFetch/ SQLGetData dans le pilote ODBC SQL Server 2012. Lorsque la requête utilise un curseur de serveur, le pilote ODBC appelle sp_cursorfetch lors de l’implémentation SQLFetch , et le serveur envoie tout le BLOB au client. Ensuite, lorsque SQLGetData est exécuté, sp_cursor rétablit l’objet BLOB. Cela affecte sensiblement les performances des types de données volumineux tels que varbinary (max) ou varchar (max).

Résolution

Informations de mise à jour cumulative

La nouvelle implémentation appelle sp_cursoroption pour obtenir TEXTPTR_ONLY avant le sp_cursorfetch, puis appelle SP_CURSOROPTION pour la remettre à TextData avant la sp_cursor. Cela peut améliorer les performances. Le problème a été résolu dans la mise à jour cumulative suivante de SQL Server.

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Nous vous recommandons de télécharger et d’installer les dernières mises à jour cumulatives pour SQL Server :

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.