Microsoft distribue les correctifs Microsoft SQL Server 2008 R2 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 précédente version de correctif de SQL Server 2008 R2 ou de SQL Server 2008.
Symptômes
Prenons le scénario suivant :
- Vous installez Microsoft SQL Server 2008 R2 ou Microsoft SQL Server 2008 sur un ordinateur.
- Vous configurez la réplication transactionnelle pair à pair, puis vous activez la détection de conflits sur une table.
- Plus tard, vous désactivez la détection de conflit pour la réplication transactionnelle d’égal à égal.
- Vous mettez à jour les statistiques de la table.
Dans ce scénario, la mise à jour échoue et le message d’erreur suivant s’affiche :
Remarque
Msg 0, Niveau 11, État 0, Ligne 0
Une grave erreur s’est produite sur la commande actuelle. Les résultats, s’il y en a, doivent être ignorés.
En outre, une exception de violation d’accès se produit et un mini-fichier de vidage est généré dans le dossier du journal des erreurs de SQL Server.
Cause
Ce problème se produit, car le moteur de base de données tente de charger des statistiques non résolues. Lorsque la détection des conflits P2P est activée, une colonne système MDColumnIdP2pCdId est ajoutée à l’ensemble de lignes d’index de base de la table. Les requêtes liées à la réplication peuvent créer automatiquement des statistiques sur la colonne système. Lorsque la détection de conflit P2P est désactivée, la colonne système est supprimée de la table. Cependant, les statistiques correspondantes demeurent. Par conséquent, la mise à jour des statistiques provoque l’exception de violation d’accès, car les statistiques ne peuvent pas être ajoutées à la table.
Résolution
Informations sur les mises à jour cumulatives
SQL Server 2008 R2 Service Pack 1
Le correctif pour résoudre ce problème a été publié pour la première fois dans la mise à jour cumulative 4 pour SQL Server 2008 R2 Service Pack 1. 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 :
2633146 Package de mise à jour cumulative 4 pour SQL Server 2008 R2 Service Pack 1Remarque Comme 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. 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 de SQL Server 2008 R2 publiées après SQL Server 2008 R2 Service Pack 1
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 9. 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.
2567713 package de mise à jour cumulative 9 pour SQL Server 2008 R2 Remarque Comme 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. 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 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.
Le correctif de ce problème a d’abord été publié dans le package de mise à jour cumulative 6 pour SQL Server 2008 R2. 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 :
2489376 package de mise à jour cumulative 6 pour SQL Server 2008 R2Note Comme 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. 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
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Informations supplémentaires
Pour plus d’informations sur la configuration et la gestion d’une topologie de réplication d’égal à égal à l’aide de l’Assistant Configurer la topologie d’égal à égal, reportez-vous au site web MSDN (Microsoft Developer Network) à l’adresse suivante :
Procédure : configurer la réplication transactionnelle d’égal à égal (SQL Server Management Studio) Pour plus d’informations sur la détection des conflits, reportez-vous au site web MSDN à l’adresse suivante :
Détection des conflits dans la réplication d’égal à égal 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