Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment vérifier si la base de données SQL est corrompue - Solution pour réparer le fichier MDF

La corruption des données est la situation la plus critique pour l'administrateur SQL Server. Il est très difficile de récupérer des données endommagées sans utiliser l'aide d'outils tiers. Pour empêcher la corruption des données, nous devons connaître les causes de la corruption de la base de données. Pour simplifier cette tâche, voici la solution complète sur la façon de vérifier si la base de données SQL est corrompue et comment récupérer les fichiers de base de données SQL corrompus via SQL Recovery Tool . Alors commençons.

Lorsque nous parlons de réparation de corruption de base de données SQL, nous devons connaître les raisons de la corruption pour éviter ce problème à l'avenir.

Raisons courantes de la corruption de la base de données SQL Server

Microsoft SQL Server est l'un des meilleurs systèmes de gestion de bases de données relationnelles utilisé par les grandes organisations. Tout défaut ou erreur dans SQL Server peut corrompre la base de données. Dans ce qui suit, nous avons répertorié les principales raisons de la corruption de la base de données :

  • Les attaques de logiciels malveillants et de virus peuvent corrompre les fichiers SQL MDF et NDF.
  • Les sous-systèmes du disque sur lequel les détails de la base de données sont stockés peuvent être affectés par divers problèmes. Cela conduit à une disposition incorrecte des détails de la table dans la base de données et, finalement, l'utilisateur ne reçoit pas le résultat souhaité.
  • Les logiciels antivirus sont bons pour d'autres programmes ou fichiers stockés sur le système. Mais dans le cas de SQL Server, cela peut être dangereux et rendre les données inaccessibles aux utilisateurs.
  • Lorsque nous avons besoin de fichiers de plus petite taille, nous les compressons simplement. Mais les fichiers de base de données SQL Server ne sont jamais destinés à la compression de fichiers. Cela peut entraîner une corruption de la base de données SQL.
  • Panne de courant soudaine, arrêt inattendu du système, certaines modifications du compte SQL Server peuvent également entraîner une corruption de SQL Server.

Une fois que vous connaissez la raison de la corruption, nous savons comment identifier les données corrompues.

Comment vérifier si la base de données SQL est corrompue ?

Avant de réparer la corruption de la base de données SQL, nous avons vraiment besoin de connaître le niveau de corruption. Chaque fois que votre base de données ne fonctionne pas correctement, suivez simplement les instructions ci-dessous et identifiez la corruption du fichier SQL MDF.

  • Exécutez la commande suivante pour vérifier les fichiers corrompus.

SELECT * From msdb.dbo.suspect pages

S'il n'y a pas d'erreur dans la base de données, aucune ligne n'est affichée dans le résultat. Cela signifie qu'aucune entrée corrompue n'a été trouvée. Cependant, cela ne signifie pas qu'il ne peut y avoir de données endommagées puisque la requête ne vérifie que les entrées qui ont été endommagées dans le passé. Les dommages dans une nouvelle entrée ne sont pas vérifiés. Vous pouvez utiliser la deuxième commande pour vérifier les mauvaises pages.

  • DBCC CHECKDB est la commande la plus utilisée par les administrateurs de bases de données pour identifier les fichiers corrompus et les réparer. DBCC intègre plusieurs autres commandes telles que DBCC CHECKCATALOG, DBCC CHECKALLOC et DBCC CHECKTABLE. Pour vérifier si la base de données SQL est corrompue, suivez cette commande :

DBCC CHECKDB (Name_of_database)

Cette commande vérifie la table, la mémoire, les mesures de qualité et de cohérence et place le résultat dans une liste. S'il y a des défauts, des incohérences et de la corruption, alors ce sera devant vous.

Comment récupérer une base de données SQL corrompue ?

Si le résultat montre une corruption dans la base de données SQL Server, vous devez la réparer dès que possible pour accéder à vos données. Pour cela, vous pouvez utiliser le logiciel SQL Recovery. Cela réparera les fichiers MDF et NDF corrompus avec tous les objets. Il n'y a aucune inquiétude concernant la version de SQL Server car l'outil est capable de réparer le fichier MDF de SQL Server 2019, 2017, 2016, 2014, 2012, 2002 et toutes les versions antérieures. Voyons comment cet outil exécute le processus de réparation de la corruption de la base de données SQL sans sauvegarde ni autre utilitaire.

Étape 1 :Téléchargez la récupération de la base de données SQL et lancez-la sur le système. Cliquez ensuite sur Ouvrir et sélectionnez le fichier de base de données SQL MDF.

Étape 2 :Choisissez Mode de numérisation :Rapide ou Avancé. Sélectionnez les versions de fichier SQL Server MDF.

Étape 3 :Cliquez sur OK et le logiciel lancera le processus de récupération des fichiers de base de données SQL corrompus. Une fois terminé, vous pouvez voir l'aperçu des éléments récupérés.

Étape 4 :Cliquez sur l'option Exporter en haut pour restaurer la base de données SQL. Choisissez l'option d'exportation :exportez vers la base de données SQL Server ou les scripts SQL.

Étape 5 :Si vous souhaitez exporter les données de récupération vers la base de données SQL, entrez le nom du serveur, le nom d'utilisateur et le mot de passe.

Étape 6  : Vérifiez les éléments de base de données SQL requis et sélectionnez Exporter avec le schéma ou le schéma et les données.

Étape 7  : Cliquez sur le bouton Exporter et le processus démarrera immédiatement.

Maintenant, pour vérifier la base de données récupérée sur SQL Server, développez simplement les bases de données.

Mots de conclusion

Ici, nous avons expliqué comment vérifier si la base de données SQL est corrompue et quelles sont les raisons de la corruption de la base de données SQL. Si vous constatez que vos fichiers SQL MDF et NDF sont corrompus, nous avons également décrit la méthode pour récupérer les fichiers de base de données SQL corrompus. Ici, nous avons suggéré le meilleur outil de récupération SQL qui aide l'utilisateur à réparer et restaurer la base de données SQL sans sauvegarde.