Summary: Dans ce blog, nous allons discuter de l'erreur SQL Server 825 qui apparaît lorsqu'une opération de lecture a dû être rééditée au moins une fois. Nous discuterons également des causes de cette erreur et de la manière dont elle peut être corrigée. Nous parlerons également du risque imminent de perte de données ou de corruption de la base de données associé à l'erreur 825, et de la manière dont vous pouvez y remédier en utilisant le logiciel Stellar Repair for MS SQL. Vous pouvez vérifier la précision du logiciel en téléchargeant sa version d'essai gratuite ici :
Lorsque vous travaillez sur une base de données SQL Server, vous pouvez recevoir une alerte sur le serveur pour l’erreur 825. Le message d’erreur se lit comme suit :
Msg 825, Niveau 10, État 2, Ligne 1.
La lecture du fichier ‘%ls’ à l’emplacement %#016I64x a réussi après avoir échoué %d fois(s) avec l’erreur : %ls. Des messages supplémentaires dans le journal des erreurs du serveur SQL et dans le journal des événements du système peuvent fournir plus de détails. Cette condition d’erreur menace l’intégrité de la base de données et doit être corrigée. Effectuez un contrôle de cohérence complet de la base de données (DBCC CHECKDB). De nombreux facteurs peuvent être à l’origine de cette erreur ; pour plus d’informations, consultez les livres en ligne sur le serveur SQL.
Erreur SQL Server 825 – Qu’est-ce que c’est et qu’est-ce qui la provoque ?
L’erreur SQL 825 est une erreur de lecture/répétition (E/S) introduite dans SQL Server 2005. Elle se produit lorsqu’une opération de lecture échoue et que SQL Server doit réessayer l’opération jusqu’à ce qu’elle réussisse. Essentiellement, l’erreur indique que le serveur SQL a fait plusieurs tentatives (4 au maximum) pour lire les données avant d’y parvenir.
Lire aussi : Comment réparer l’erreur fatale 823 de la base de données SQL Server ?
Comment corriger l’erreur SQL Server 825 ?
Suivez les étapes indiquées dans la séquence ci-dessous pour résoudre le problème :
Étape 1 – Diagnostiquer l’erreur SQL 825
Pour diagnostiquer l’erreur SQL 825, vous devez trouver plus de détails à son sujet. Consultez le journal des erreurs du serveur SQL ou le journal des événements du système pour obtenir plus d’informations sur l’erreur.
Étape 2 – Vérifier l’état du matériel du disque
Vérifiez l’état de votre système de disque, car le problème sous-jacent peut être lié à des périphériques de stockage tels que des disques, des contrôleurs de disque, des pilotes de disque ou des cartes réseau.
Étape 3 – Contactez votre fabricant de matériel
Contactez le fabricant du disque pour vérifier l’état de votre système de disque et demander les dernières mises à jour des pilotes.
Étape 4 – Déplacer le fichier de la base de données SQL vers un nouveau disque physique
Si le problème provient de votre matériel de disque, essayez de déplacer tous les fichiers de la base de données SQL sur un nouveau lecteur physique. Pour ce faire, procédez comme suit :
- Ajoutez un nouveau lecteur à votre machine (appelez-le E).
Remarque : assurez-vous que le nouveau lecteur dispose de suffisamment d’espace disque pour stocker les fichiers de la base de données SQL, tout comme le lecteur actuellement utilisé.
- Créez la même structure de dossier, sur le nouveau lecteur, que sur le lecteur contenant le fichier de base de données (lecteur D).
- Arrêtez le service SQL.
- Déplacez tous les fichiers du lecteur D vers le lecteur E.
- Ensuite, permutez les lettres de lecteur (D > Y, E > D, Y > E).
- Redémarrez le service SQL.
Note : Lors du redémarrage du service SQL, il se peut que vous obteniez des erreurs d’autorisation. Si c’est le cas, veillez à définir les autorisations en conséquence.
Quelle est la prochaine étape ?
Les instructions ci-dessus vous aideront à résoudre l’erreur SQL 825. Mais, comme nous l’avons vu plus haut, l’erreur SQL 825 menace l’intégrité de la base de données. Vous devez donc exécuter DBCC CHECKDB pour vérifier la cohérence logique et physique des pages SQL db, les relations d’index, l’intégrité référentielle de la table système et d’autres vérifications structurelles.
Si DBCC CHECKDB signale une corruption dans la base de données SQL, vous pouvez restaurer la base de données à partir de la dernière copie de sauvegarde connue. Mais si la sauvegarde n’est pas disponible ou si elle est corrompue, DBCC fournit plusieurs options de réparation pour corriger la corruption de la base de données SQL.
Lisez ceci : Comment réparer une base de données SQL en utilisant la commande DBCC CHECKDB
Cependant, l’utilisation de DBCC CHECKDB avec la commande REPAIR_ALLOW_DATA_LOSS peut entraîner des pertes de données. En outre, il se peut que la réparation des fichiers de base de données gravement corrompus échoue. Dans ce cas, utilisez un outil de réparation SQL spécialisé tel que Stellar Repair for MS SQL pour réparer et restaurer la base de données tout en préservant l’intégrité des données.
Regardez la vidéo pour connaître le processus de restauration de la base de données à l’aide de l’outil Stellar Repair for MS SQL.
Conclusion
L’erreur 825 d’E/S du serveur SQL indique que l’opération de lecture ne s’est pas terminée lors de la première tentative et que l’opération a dû être réémise. Cette erreur est due à des problèmes liés au matériel du disque et peut être corrigée en vérifiant l’état du disque et en exécutant les dernières mises à jour des pilotes. Si le disque est défectueux, essayez de déplacer tous les fichiers de la base de données sur un nouveau disque physique.
Si l’erreur 825 a entraîné une corruption de la base de données SQL, exécutez DBCC CHECKDB et vérifiez s’il signale des erreurs de corruption. Si c’est le cas, essayez de restaurer votre base de données à partir de la copie de sauvegarde. Si la sauvegarde n’est pas disponible, vous devrez réparer la base de données à l’aide des options de réparation de DBCC CHECKDB. Une meilleure alternative consiste à utiliser le logiciel Stellar Repair for MS SQL pour réparer la base de données corrompue.