KB2490920 – CORRECTIF : erreur « Msg 2601, Niveau 14, État 1, Ligne 1 Impossible d’insérer une ligne de clé en double » lorsque vous exécutez l’instruction ALTER PARTITION FUNCTION pour fractionner ou fusionner une plage de partitions dans SQL Server 2005 ou SQL Server 2008

S’applique à
Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Workgroup Edition SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

Microsoft distribue les correctifs Microsoft SQL Server 2005 ou Microsoft SQL Server 2008 sous la forme d’un fichier téléchargeable. Étant donné que les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif Microsoft SQL Server 2005 ou Microsoft SQL Server 2008

Symptômes

Prenons le scénario suivant :

  • Vous installez une instance de Microsoft SQL Server 2005 ou de SQL 2008 sur un ordinateur.
  • Vous créez une table partitionnée qui contient un index non cluster qui n’est pas aligné.
  • Vous exécutez l’instruction ALTER PARTITION FUNCTION pour fractionner ou fusionner une plage de partitions pour la table partitionnée.

Dans ce scénario, le message d’erreur suivant s’affiche régulièrement :

Remarque

Msg 2601, Niveau 14, État 1, Ligne 1
Impossible d’insérer une ligne de clé en double dans object <objectname> avec un index <unique uniqueindexname>.

Cause

Ce problème se produit parce qu’une erreur est déclenchée dans l’optimiseur de requête lorsqu’une plage de partitions est fractionnée.

Lorsque le plan d’exécution supprime et insère des lignes de la plage de partitions affectée dans une nouvelle plage de partitions, une violation de clé unique se produit.

Résolution

Informations sur les mises à jour cumulatives

SQL Server 2005 Service Pack 3

Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 15 pour SQL Server 2005 Service Pack 3. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.

2507766 Package de mise à jour cumulative 15 pour SQL Server 2005 Service Pack 3Note Comme les versions sont cumulatives, chaque nouvelle version de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2005. Microsoft vous recommande d’envisager d’appliquer la publication de correctif la plus récente qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

960598 Les versions SQL Server 2005 publiées après SQL Server Service Pack 3 de Microsoft SQL Server 2005 ont été créées pour des Service Packs SQL Server spécifiques. Vous devez appliquer un correctif de SQL Server 2005 Service Pack 3 à une installation de SQL Server 2005 Service Pack 3. Par défaut, tout correctif logiciel fourni dans un Service Pack SQL Server est inclus dans le Service Pack SQL Server suivant.

SQL Server 2005 Service Pack 4

Le correctif de ce problème a été publié pour la première fois dans la mise à jour cumulative 2 pour SQL Server 2005 Service Pack 4. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.

2489409 Package de mise à jour cumulative 2 pour SQL Server 2005 Service Pack 4Remarque Étant donné que les builds sont cumulatives, chaque nouvelle publication de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2005. Microsoft vous recommande d’envisager d’appliquer la publication de correctif la plus récente qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

2485757 Les versions SQL Server 2005 publiées après SQL Server Service Pack 4 de Microsoft SQL Server 2005 ont été créées pour des Service Packs spécifiques SQL Server. Vous devez appliquer un correctif logiciel de SQL Server 2005 Service Pack 4 à une installation de SQL Server 2005 Service Pack 4. Par défaut, tout correctif logiciel fourni dans un Service Pack SQL Server est inclus dans le Service Pack SQL Server suivant.

SQL Server 2008 Service Pack 1

Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 13 pour SQL Server 2008 Service Pack 1. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.

2497673 Package de mise à jour cumulative 13 pour SQL Server 2008 Service Pack 1Note Comme les builds sont cumulatives, chaque nouvelle publication de correctif contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008. Microsoft vous recommande d’envisager d’appliquer la publication de correctif la plus récente qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

970365 Les versions SQL Server 2008 publiées après SQL Server 2008 Service Pack 1 Microsoft SQL Server 2008 sont créées pour des Service Packs SQL Server spécifiques. Vous devez appliquer un correctif logiciel de SQL Server 2008 Service Pack 1 à une installation de SQL Server 2008 Service Pack 1. Par défaut, tout correctif logiciel fourni dans un Service Pack SQL Server est inclus dans le Service Pack SQL Server suivant.

SQL Server 2008 Service Pack 2

Le correctif de ce problème a été publié pour la première fois dans la mise à jour cumulative 3 pour SQL Server 2008 Service Pack 2. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.

2498535 Package de mise à jour cumulative 3 pour SQL Server 2008 Service Pack 2Note Comme les versions sont cumulatives, chaque nouvelle version contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008. Microsoft vous recommande d’envisager d’appliquer la publication de correctif la plus récente qui contient ce correctif. Pour plus d’informations, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

2402659 Les versions de SQL Server 2008 publiées après SQL Server Service Pack 2 de Microsoft SQL Server 2008 ont été créées pour des Service Packs spécifiques SQL Server. Vous devez appliquer un correctif logiciel de SQL Server 2008 Service Pack 2 à une installation de SQL Server 2008 Service Pack 2. Par défaut, tout correctif logiciel fourni dans un Service Pack SQL Server est inclus dans le Service Pack SQL Server suivant.

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

Pour plus d’informations sur l’instruction Transact-SQL ALTER PARTITION FUNCTION , reportez-vous au site web MSDN à l’adresse suivante :

Informations générales sur l’instruction Transact-SQL ALTER PARTITION FUNCTION Pour plus d’informations sur les instructions spéciales relatives aux index partitionnés, reportez-vous au site web MSDN à l’adresse suivante :

Instructions spéciales pour les index partitionnés Pour plus d’informations sur le modèle de maintenance incrémentielle 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 pour les 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’appellation pour les packages de mise à jour logicielle 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 :

824684 Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft