CORRECTIF : Lorsque vous mettez à jour les lignes à l’aide d’un curseur dans SQL Server 2008, la mise à jour peut prendre beaucoup de temps à la fin

N° de bogue : 50003344 (correctif SQL)
Microsoft distribue les correctifs de Microsoft SQL Server 2008 en tant que fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus dans la précédente 2008 de SQL Server version du correctif.

Symptômes

Dans Microsoft SQL Server 2008, vous créez un curseur. Vous essayez de mettre à jour le curseur à l’aide d’une instruction. L’instruction contient une clause ORDER BY. Lorsque vous mettez à jour les lignes à l’aide du curseur, la mise à jour peut prendre beaucoup de temps.

Ce problème se produit également dans Microsoft SQL Server 2005. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

955694 correctif : lorsque vous mettez à jour les lignes à l’aide d’un curseur dans SQL Server 2005, la mise à jour peut prendre beaucoup de temps

Résolution

Le correctif de ce problème a été publié dans 1 de mise à jour Cumulative. Pour plus d’informations sur l’obtention de ce package de mise à jour cumulative pour SQL Server 2008, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
956717 Cumulative mise à jour 1 pour SQL Server 2008
Remarque Les versions étant cumulatives, chaque nouvelle version du correctif contient tous les correctifs et correctifs de sécurité inclus dans la précédente version du correctif de SQL Server 2008. Nous vous recommandons l’application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
956909 the SQL Server versions 2008 publiées après SQL Server 2008

Informations supplémentaires

Les sections suivantes contiennent des informations importantes sur le correctif.

Étapes pour activer le correctif

Dans le Gestionnaire de Configuration SQL Server, ajoutez le -T4128 paramètre de démarrage de l’instance de SQL Server. Pour ce faire, procédez comme suit :
  1. Dans le Gestionnaire de Configuration SQL Server, cliquez sur Services de SQL Server.
  2. Dans le volet droit, cliquez sur SQL Server (instance_name), puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés , cliquez sur l’onglet Avancé .
  4. Sous l’onglet Avancé , recherchez l’élément de Paramètres de démarrage et tapez -T4128 à la fin de la valeur existante.
    Remarque Séparer le paramètre à partir d’autres paramètres à l’aide d’un point-virgule ( ;).
  5. Cliquez sur OK, puis fermez le Gestionnaire de Configuration SQL Server.
  6. Redémarrez le service du moteur de base de données SQL Server 2008 pour l’indicateur de trace prennent effet.

Problèmes liés à la résolution des adresses

Le correctif résout le problème lorsque les conditions suivantes sont remplies :
  • L’utilisateur est mise à jour à l’aide d’un curseur. Cela peut être identifié dans le plan de requête par l’opérateur du curseur de la mise à jour.
  • Avant l’exécution d’une instruction de mise à jour des Index ordonnés en clusters, exécution d’une instruction de boucle imbriquée. Cette instruction comprend une table de travail de curseur (format CWT) qui est utilisée comme un objet, avec le paramètre Inner Join. Puis, l’objet format CWT est utilisé dans l’instruction d’Index en cluster dans le cadre du plan d’exécution pour le nœud.
  • Il existe une instruction de clause dans l’instruction DECLARE CURSOR (ou une API équivalente) ORDER BY. Vous pouvez uniquement déterminer avec certitude cet en vérifiant le texte de l’instruction DECLARE CURSOR.

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Pour plus d’informations sur les fichiers modifiés et pour plus d’informations sur les conditions requises pour appliquer le package de mise à jour cumulative qui contient le correctif qui est décrit dans cet article de la Base de connaissances Microsoft, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
956717 Cumulative mise à jour 1 pour SQL Server 2008

Références

Pour plus d’informations sur la liste des versions disponibles après la publication de SQL Server 2008, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

956909 the SQL Server versions 2008 publiées après SQL Server 2008



Pour plus d’informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

935897 un modèle de service incrémentiel est disponible auprès de l’équipe SQL Server pour proposer des correctifs pour les problèmes signalés



Pour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

822499 Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server


Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft
Propriétés

ID d'article : 957872 - Dernière mise à jour : 13 janv. 2017 - Révision : 1

Commentaires