KB2671078 - CORRECTIF : Message d’erreur « Tentative de définition de la valeur d’une colonne non NULL sur NULL » lors de l’utilisation d’une instruction MERGE dans SQL Server 2008, dans SQL Server 2008 R2 ou dans SQL Server 2012

S’applique à
SQL Server 2008 Enterprise SQL Server 2008 Developer SQL Server 2008 Standard SQL Server 2008 Workgroup SQL Server 2008 Web SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Web SQL Server 2008 R2 Workgroup SQL Server 2012 Business Intelligence SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Microsoft distribue les correctifs Microsoft SQL Server 2008, SQL Server 2008 R2 ou SQL Server 2012 en un seul 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 les correctifs précédents de SQL Server 2008, SQL Server 2008 R2 ou SQL Server 2012

Symptômes

Prenons le scénario suivant :

  • Vous essayez d’effectuer une opération d’insertion sur une table cible dans une base de données Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 ou Microsoft SQL Server 2012.
  • La table cible comporte plusieurs contraintes de clé étrangère (FK).
  • Pour effectuer l’opération d’insertion, vous utilisez une instruction MERGE.

Dans ce scénario, le message d'erreur suivant s'affiche :

Remarque

Msg 681, Niveau 16, État #, Ligne #

Remarque

Tentative de définition de la valeur d’une colonne non NULL sur NULL.

Résolution

Informations sur les mises à jour cumulatives

Le problème a été résolu pour la première fois dans la mise à jour cumulative suivante de SQL Server.

Mise à jour cumulative 10 pour SQL Server 2008 R2 SP2 /en-us/help/2908087

À propos des mises à jour cumulatives pour SQL Server

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

      

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

2765331 Package de mise à jour cumulative 1 pour SQL Server 2012 Service Pack 1Remarque 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 2012. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif 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 :

2772858 Builds de SQL Server 2012 publiées après SQL Server 2012 Service Pack 1

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

2723743 Package de mise à jour cumulative 8 pour SQL Server 2008 R2 SP1Remarque : étant donné que les builds 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 2008 R2 Service Pack 1. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif 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 :

2567616 Builds SQL Server 2008 R2 publiées après la publication de SQL Server 2008 R2 SP1

SQL Server 2012 Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 3 pour SQL Server 2012. 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.

2723749 Package de mise à jour cumulative 3 pour SQL Server 2012Remarque Étant donné que les builds 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 2012. 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 :

2692828 Les builds SQL Server 2012 publiées après la sortie de SQL Server 2012 Vous devez appliquer un correctif SQL Server 2012 à une installation de SQL Server 2012.

SQL Server 2008 Service Pack 3 Le correctif pour ce problème a été publié pour la première fois dans la mise à jour cumulative 6 pour SQL Server 2008 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.

2715953 Package de mise à jour cumulative 6 pour SQL Server 2008 Service Pack 3Note 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 :

2629969 Les versions de SQL Server 2008 publiées après SQL Server Service Pack 3 de 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 3 à une installation de SQL Server 2008 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 2008 R2
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 14. Pour plus d’informations sur la procédure d’obtention de ce package de mise à jour cumulative pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft.

2703280 package de mise à jour cumulative 14 pour SQL Server 2008 R2 Remarque É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 2008 R2. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif 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 :

981356 Builds SQL Server 2008 R2 publiées après SQL Server 2008 R2

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

2673382 Package de mise à jour cumulative 9 pour SQL Server 2008 Service Pack 2Note 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 2008. Nous vous recommandons d’envisager d’appliquer la version la plus récente du correctif 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 builds SQL Server 2008 publiées après SQL Server 2008 Service Pack 2

État

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