- La perte de données est un problème courant, mais nous allons vous montrer comment réparer une base de données corrompue dans SQL Server.
- Ce problème peut provenir d'un simple écrasement ou d'une suppression accidentelle de fichiers, d'infections virales et d'une configuration incorrecte.
- Le dysfonctionnement du lecteur de stockage peut également entraîner la corruption de fichiers, y compris votre base de données SQL.
Bien sûr, il est frustrant de découvrir une base de données corrompue sur votre serveur SQL pour des raisons évidentes. Vous ne pouvez pas accéder aux informations et votre travail s'arrête complètement.
Cependant, il existe de nombreuses façons de résoudre ce problème avec des solutions manuelles ou en utilisant un outil tiers intelligent et dédié appelé Boîte à outils de récupération pour SQL Server.
Mais avant de commencer le dépannage, comprenons et examinons un peu pourquoi ce problème se produit en premier lieu.
Qu'est-ce qu'un serveur SQL et comment identifier la base de données ?
Un serveur SQL est un système de base de données, développé par Microsoft, qui est utilisé pour gérer, stocker et récupérer des données par d'autres applications.
Il existe trois types de fichiers pour stocker et gérer des données dans un serveur SQL: les fichiers principaux (avec une extension .MDF), les fichiers secondaires (avec l'extension .NDF) et les fichiers journaux (avec l'extension .LDF).
Nous sommes particulièrement intéressés par ces fichiers MDF car ce sont eux qui fournissent le stockage de la base de données.
Pourquoi une base de données est-elle corrompue sur un serveur SQL ?
Il existe de nombreuses raisons possibles pour lesquelles votre base de données SQL Server peut être corrompue, d'un simple écrasement ou d'une suppression accidentelle de fichiers à des infections virales et à une configuration incorrecte.
Passons en revue certaines des causes les plus courantes de ce problème :
- Écraser un fichier – Si vous écrasez un fichier MDF existant par erreur, vous risquez de corrompre la base de données
- Essayer de déverrouiller la base de données SQL - Si vous mot de passe SQL oublié et entrez-le mal trop de fois, cela peut entraîner une corruption de SQL Server
- Panne sur votre disque de stockage – Il va sans dire qu'un dysfonctionnement du lecteur peut entraîner une corruption de fichiers, y compris la base de données
- Problèmes avec la configuration de la base de données SQL – Si la configuration SQL change, cela peut désactiver l'accès aux fichiers MDF
- Infection par virus – Il s'agit d'un problème courant pour toute corruption de fichiers, pas seulement les fichiers de base de données SQL et même si vous supprimez le virus en utilisant les meilleurs antivirus, malheureusement, vous risquez encore de perdre des données
- Bogues internes SQL - Bien qu'il s'agisse d'une solution puissante, il peut toujours y avoir des bogues pouvant entraîner la corruption des fichiers MDF
Cela étant dit, suivez notre guide étape par étape pour savoir comment réparer un fichier de base de données SQL sur un serveur SQL.
Comment puis-je réparer une base de données corrompue dans SQL Server ?
REMARQUE
Noter: Avant de commencer quoi que ce soit, effectuez une sauvegarde de la bibliothèque SQL.
1. Redémarrez le serveur SQL
- Ouvrez un terminal et entrez la commande suivante pour arrêter le SQL Server:
arrêt systemctl mysql
- Pour vérifier l'état de SQL Server, tapez la commande suivante et appuyez sur Entrer:
statut mysql.service
- Redémarrez maintenant SQL Server en exécutant la commande suivante dans le terminal:
redémarrez mysql.service
Parfois, vous pouvez résoudre le problème simplement en redémarrant SQL Server. Bien sûr, cela ne fonctionne pas à chaque fois, mais c'est si facile à réaliser que cela ne ferait pas de mal.
2. Réparer une table endommagée
- Démarrez le serveur SQL.
- Tapez la commande suivante et appuyez sur Entrer pour l'exécuter:
CHECK TABLE nom_de_la_table ;
- S'il détecte des problèmes avec la table, tapez la commande suivante et appuyez sur Entrer:
REPAIR TABLE nom_de_la_table ;
La TABLE DE RÉPARATION vous aidera à réparer une table et vous pouvez faire de même pour toutes les autres tables corrompues, mais de cette façon, vous risquez de perdre certaines données de la table.
3. Utilisez la commande mysqlcheck
- Ouvrez un terminal et tapez ou collez la commande suivante pour atteindre le dossier de la base de données et appuyez sur Entrer:
cd /var/lib/mysql
- Maintenant, tapez la commande suivante pour tester une table et appuyez sur Entrer. Assurez-vous de remplacer et avec les vrais noms:
mysqlcheck
- Si vous recevez le message indiquant que la table est corrompue, tapez la commande suivante pour la réparer et appuyez sur Entrer:
mysqlcheck -r
4. Utilisez les commandes ALTER TABLE
- Tapez la commande suivante pour vérifier le type de votre table (dans notre cas, c'est une table MyISAM):
AFFICHER CRÉER UN TABLEAU
;
- Pour reconstruire la table, tapez la commande suivante et appuyez sur Entrer:
MODIFIER TABLE
MOTEUR = MonISAM ;
- Si vous avez une base de données InnoDB, tapez plutôt la commande suivante:
MODIFIER TABLE
MOTEUR = InnoDB ;
- Téléchargez et installez Microsoft SQL Server 2019
- Meilleur logiciel de sauvegarde de serveur SQL [gratuit et payant]
- Comment sécuriser une base de données SQL Server
5. Réparer la base de données à l'aide de Recovery Toolbox for SQL Server
- Rendez-vous sur la page dédiée de Recovery Toolbox for SQL Server et cliquez sur le Télécharger bouton.
- Installez l'application après avoir choisi la langue et accepté le contrat de licence.
- Cliquez sur Finir pour lancer l'outil de réparation SQL Server MDF.
- Sélectionnez le fichier corrompu *.mdf fichier en cliquant sur l'icône du dossier source.
- Une fois que vous l'avez sélectionné, cliquez sur le Suivant bouton.
- Vous pourrez maintenant prévisualiser les données pouvant être récupérées à partir de la base de données Microsoft SQL Server corrompue. Cliquez sur Suivant dans la fenêtre de l'outil de récupération Microsoft SQL MDF pour démarrer le processus.
- Maintenant, il vous suffit de choisir la méthode d'exportation des données. Vous pouvez l'enregistrer sous scripts SQL sur disque et même exécuter le script SQL directement sur la base de données.
- Enfin, choisissez les données à enregistrer et cliquez sur Démarrer la récupération.
Alors ceci est comment réparer les fichiers de base de données du serveur SQL avec cet outil simple et efficace. Comme vous pouvez le voir, cela fera le travail beaucoup plus rapidement.
le Outil de récupération de serveur MS SQL vous aidera également si vous rencontrez les problèmes suivants avec la base de données MDF :
- Erreur Microsoft SQL Server 5172 – La propriété FILE SIZE est incorrecte
- SQL Server a détecté une erreur d'E/S basée sur la cohérence logique - C'est une somme de contrôle incorrecte, autrement connue sous le nom d'erreur 824 dans SQL Server
- La page Index Allocation Map (IAM) est pointée par le pointeur suivant d'une page IAM - C'est un problème assez courant
- Erreur d'E/S, mauvais ID de page, détecté lors de la lecture à l'offset 0x###### dans le fichier FileName.mdf - Cela n'apparaît pas souvent mais vous pouvez toujours le réparer avec ce petit outil
- Le fichier semble avoir été tronqué par l'erreur du système d'exploitation – Probablement causé par un problème de configuration
- Une erreur s'est produite au niveau de l'ID d'enregistrement de journal – Cela se produit lors de la répétition d'une opération enregistrée dans la base de données
En fait, avec Recovery Toolbox for SQL Server, réparez tous les objets des fichiers .mdf corrompus, y compris les types de données, les tables données de cellule, vues, procédures stockées, fonctions personnalisées, déclencheurs, index, clés primaires et étrangères, restrictions et les autres.
Et le grand avantage est que vous pouvez exporter les données réparées directement dans Microsoft SQL Server de manière transparente à partir de l'application.
Ça y est!!! Vous savez maintenant comment réparer votre base de données SQL Server manuellement ou en utilisant un outil dédié.
Si vous connaissez des méthodes supplémentaires ou avez des questions, nous les attendons dans la section des commentaires ci-dessous.