Summary: ce blog décrit comment réparer l'erreur 824 de la base de données Microsoft SQL manuellement ou à l'aide d'un logiciel spécialisé de réparation de bases de données SQL. Il couvre également les causes possibles de l'erreur 824.
L’erreur 824 de la base de données SQL peut entraîner l’inaccessibilité des fichiers MDF et NDF de la base de données, de sorte que vous ne pouvez plus accéder aux objets stockés dans la base de données. Vous devez rectifier immédiatement l’erreur 824 du serveur SQL afin de pouvoir continuer à travailler sur la base de données sans interruption ni perte de données.
Erreur 824 de la base de données SQL : Message d’erreur et description
Message d’erreur :
Msg 824, niveau 24, statut 2, ligne n°1.
Description :
L’erreur 824 de la base de données SQL est une erreur E/S logique. Une E/S logique signifie que la page a été lue avec succès sur le disque dur. Cependant, il y a une erreur dans la page elle-même. En plus, une “erreur de cohérence logique” indique clairement un dommage dû à une corruption de la base de données, où la corruption est due à un composant défectueux du sous-système d’E/S.
L’erreur SQL Server 824 contient plusieurs éléments d’information, qui sont les suivants :
- La base de données à laquelle appartient le fichier de base de données.
- Fichier de base de données sur lequel l’opération d’E/S est effectuée.
- Le décalage du fichier de base de données dans lequel l’opération d’E/S a été tentée.
- Le numéro de page associé à l’opération d’E/S.
- Informations indiquant si l’opération a été effectuée en “lecture” ou en “écriture”.
- Détails de l’échec du contrôle de cohérence logique. (Les détails sont les suivants : type de contrôle, valeur réelle et valeur attendue utilisée pour ce contrôle) : Type de contrôle, valeur réelle et valeur attendue utilisées pour ce contrôle).
Note – Si vous rencontrez cette erreur SQL 824 lors du déclenchement d’une requête ou d’une modification de données, l’application renverra le message d’erreur et la connexion à la base de données sera interrompue.
Quelle est la cause de l’erreur 824 de la base de données SQL ?
Microsoft SQL Server utilise les API de Windows, telles que ReadFile, WriteFile, ReadFileScatter et WriteFileGather, pour exécuter des opérations d’E/S. Après avoir exécuté ces opérations d’E/S, le serveur recherche les erreurs liées à ces appels d’API. Si les appels API mentionnés ici échouent en raison d’une erreur du système d’exploitation, le serveur SQL signale l’erreur 823. Dans certaines circonstances, l'”appel API Windows” aboutit mais les données déplacées par l’opération d’E/S ont rencontré des problèmes de cohérence logique. Ces problèmes sont signalés par l’erreur 824 du serveur SQL.
Vous trouverez ci-dessous d’autres raisons à l’origine de l’erreur SQL Server 824 :
- Problèmes avec le système de stockage sous-jacent
- Problème de matériel ou de pilote dans le chemin d’E/S
- Fichier MDF ou NDF de la base de données SQL Server corrompu ou endommagé
- Incohérences dans le système de fichiers SQL
Dépannage de l’erreur 824 de la base de données SQL
Vous pouvez essayer de résoudre l’erreur 824 de la base de données SQL à l’aide de :
- Approche manuelle
- Approche logicielle
Approche manuelle
- Vérifiez la table suspect_pages dans msdb pour voir si cette erreur se produit également avec d’autres pages dans la même base de données ou dans d’autres bases de données.
- Utilisez la commande intégrée DBCC CHECKDB pour vérifier la fiabilité des bases de données situées sur le même volume (tel que celui spécifié dans le message 824). Si vous détectez des incohérences lors de l’utilisation de cette commande, corrigez les erreurs de cohérence de la base de données signalées.
- Si l’option PAGE_VERIFY CHECKSUM n’est pas activée dans la base de données, vous devez le faire dès que possible.
Remarque : l’erreur SQL 824 peut également se produire pour des raisons autres qu’une erreur de somme de contrôle. Cependant, CHECKSUM vous offre la possibilité de vérifier la cohérence d’une page après qu’elle a été écrite sur le disque dur.
- Utilisez SQLIOSim pour vérifier si l’erreur SQL 824 peut être reproduite en dehors des requêtes d’E/S régulières dans SQL Server.
Note – SQL Server 2008 est livré avec cet utilitaire. Pour les autres versions de SQL, vous devez le télécharger à partir du site officiel.
- Contactez votre fournisseur de matériel ou le fabricant de l’appareil pour vous assurer des points suivants :
- Les “pilotes de périphériques” et autres “composants logiciels de soutien” de tous les périphériques du chemin d’E/S sont mis à jour et sont efficaces.
- Les périphériques et la configuration correspondent aux exigences d’E/S du serveur SQL.
- Si le fabricant du matériel ou de l’appareil vous a fourni des programmes de diagnostic, vous devez les utiliser pour déterminer si le système d’E/S est fonctionnel ou non.
- Vérifiez si des “pilotes de filtrage” se trouvent sur le chemin des demandes d’E/S qui posent problème. Pour ce faire, vérifiez les points suivants :
- Lorsqu’il y a une mise à jour de ces “pilotes de filtre”.
- Est-il possible de désactiver ou de supprimer ces “pilotes de filtre” pour voir si le problème à l’origine de l’erreur SQL 824 est résolu ?
Vous pouvez utiliser ces solutions pour rectifier l’erreur SQL 824. Cependant, ces méthodes présentent également des inconvénients. Comme elles sont toutes effectuées manuellement, elles sont fastidieuses et prennent beaucoup de temps. Elles comportent également un risque de perte de données et d’échec dû à un manque de connaissances techniques.
Approche logicielle
Une autre alternative pour réparer l’erreur SQL Server 824 est d’utiliser le logiciel de réparation de bases de données SQL qui aide à réparer la base de données pour corriger les erreurs SQL tout en réduisant l’intervention humaine.
Recommandé par les MVPs et DBA de Microsoft, Stellar Repair for MS SQL est un logiciel sur lequel vous pouvez compter pour résoudre presque tous les problèmes que vous pouvez rencontrer lorsque vous travaillez avec des bases de données SQL Server. Le logiciel est conçu pour réparer avec succès les fichiers de base de données SQL (MDF) corrompus et offre également les fonctionnalités suivantes :
- Remet en état des objets tels que des tables, des déclencheurs, des clés, des règles, des index, des valeurs par défaut et d’autres objets de base de données.
- Remet en état les “registres de données de table supprimés” du serveur SQL.
- Permet la récupération sélective des objets de la base de données
- Fournit un aperçu des objets de la base de données avant qu’ils ne soient sauvegardés.
- Permet d’enregistrer le fichier réparé aux formats MS SQL (MDF), XLS, HTML et CSV.
- Les utilisateurs peuvent enregistrer la base de données SQL en tant que nouvelle base de données ou en tant que base de données active sous l’option MDF.
- Prise en charge de SQL Server 2019, 2017, 2016, 2014, 2012, 2008 et toutes les éditions antérieures.
Note de fin
Puisque ce blog propose un certain nombre de méthodes manuelles ainsi qu’une méthode automatisée pour corriger l’erreur 824 dans une base de données SQL, vous pouvez utiliser n’importe laquelle d’entre elles. Cependant, pour des résultats rapides et fructueux, vous devriez opter pour Stellar Repair for MS SQL – un logiciel externe mais orienté vers les résultats !