KB2542225-FIX : échec de l’assertion ou autres problèmes lors de l’exécution d’une requête DML sur une table ou une vue ayant deux index dans SQL Server 2008 ou SQL Server 2008 R2

Travaillez partout et à partir de n’importe quel appareil avec Microsoft 365

Effectuez une mise à niveau vers Microsoft 365 pour travailler partout avec les dernières fonctionnalités et mises à jour.

Mettre à niveau maintenant

Microsoft distribue les correctifs Microsoft SQL Server 2008 SP2 ou Microsoft SQL Server 2008 R2 sous la forme d’un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et les correctifs de sécurité inclus dans l’ancienne version du correctif SQL Server 2008 SP2 ou SQL Server 2008 R2.

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous disposez d’une table ou d’une vue comportant deux index dans Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2. Le premier index est doté d’un déclencheur AFTER. Toutefois, le second index ne possède pas de déclencheur AFTER.

  • Des enregistrements du deuxième index contiennent des informations de version pour les lignes. Par exemple, vous avez déjà activé la fonctionnalité d’isolement de capture instantanée pour activer la version de ligne.

  • Vous essayez d’exécuter une requête DML sur la table ou sur la vue.

Dans ce scénario, vous risquez de rencontrer l’un des problèmes suivants :

  • Un échec d’assertion se produit et le message d’erreur suivant est consigné dans le journal des erreurs SQL Server :

    Date et heureSPID # erreur : 17066, gravité : 16, État : 1.Date heureSPID # SQL Server assertion : file : PAGEREF. cpp, ligne = 1332 Failed Assertion = ' 0 = = pageFull'. Cette erreur est éventuellement liée au minutage. Si l’erreur persiste après avoir reexécuté l’instruction, utilisez DBCC CHECKDB pour vérifier l’intégrité structurelle de la base de données, ou redémarrez le serveur pour vérifier que les structures de données en mémoire ne sont pas endommagées.Date et heureSPID # erreur : 3624, gravité : 20, État : 1.Date heure > SPID # échec de la vérification de l’assertion système. Pour plus d’informations, consultez le journal des erreurs SQL Server. En règle générale, un échec d’assertion est lié à un bogue logiciel ou à des données endommagées. Pour vérifier la corruption de la base de données, envisagez d’exécuter DBCC CHECKDB. Si vous avez accepté d’envoyer des vidages à Microsoft lors de l’installation, un mini-vidage sera envoyé à Microsoft. Il est possible qu’une mise à jour soit disponible à partir de Microsoft dans le dernier Service Pack ou dans un QFE du support technique.

  • La requête renvoie des résultats incorrects.

  • Un problème de corruption de données s’est produit.

Cause

Ce problème survient en raison d’un défaut dans l’optimiseur de requête SQL Server. Lorsque vous exécutez une requête DML qui génère un déclencheur, les indicateurs de version de ligne incorrects sont définis, et le moteur de stockage SQL Server utilise les informations de version de l’ancienne ligne. Les problèmes décrits dans la section « symptômes » apparaissent donc.

Résolution

Informations sur les mises à jour cumulatives

SQL Server 2008 R2

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 10. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2591746 Package de mise à jour cumulative 10 pour SQL Server 2008 R2 Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Nous vous recommandons d’appliquer la version 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 :

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

SQL Server 2008 R2 Service Pack 1

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 3 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 consulter l’article de la base de connaissances Microsoft :

2591748 Package de mise à jour cumulative 3 pour SQL Server 2008 R2 Service Pack 1Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Nous vous recommandons d’appliquer la version 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 :

2567616 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 Service Pack 1

Package de mise à jour cumulative 3 SQL Server 2008 Service Pack 2 (SP2) 6

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

2582285 Package de mise à jour cumulative 6 pour SQL Server 2008 Service Pack 2Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans l’ancienne version du correctif du Service Pack 2 SQL Server 2008. Nous vous recommandons d’appliquer la version 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 Builds SQL Server 2008 publiées après la sortie de SQL Server 2008 Service Pack 2

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 ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×