Comment récupérer une base de données SQL corrompue en utilisant la commande DBCC CHECKDB ?
L’une des solutions pour réparer une base de données SQL Server corrompue consiste à utiliser la commande DBCC CHECKDB. Cette commande peut être utilisée pour vérifier l’état de la base de données, contrôler les erreurs et réparer la base de données.
Dans cet article, nous allons montrer comment récupérer la base de données à l’aide de la commande DBCC CHECKDB. Mais avant de passer au processus de récupération, il convient de comprendre les raisons de la corruption de la base de données.
Raisons de la corruption de la base de données SQL Server
Les fichiers de base de données SQL Server (MDF) peuvent être corrompus pour de multiples raisons. En voici quelques-unes :
- Disques durs corrompus
- Attaques de virus et de logiciels malveillants
- Coupures d’électricité soudaines
- Logiciels malveillants sur le disque dur
- Défaillance du matériel
- Problèmes de logiciels
Comment récupérer une base de données SQL en utilisant la commande DBCC CHECKDB ?
La première chose à faire est de vérifier si votre base de données est corrompue. Pour ce faire, exécutez la commande suivante :
DBCC CHECKDB(‘stellardb’) ;
Vous pouvez également vérifier l’état de la base de données en exécutant la requête ci-dessous :
SELECT state_desc
FROM sys.databases
WHERE name = ‘stellardb’ ;
Si la base de données est corrompue, vous pouvez récupérer les données à partir de la sauvegarde de la base de données. Si la sauvegarde est ancienne ou non disponible, vous devez réparer la base de données.
Pour réparer la base de données corrompue, vous pouvez utiliser la commande DBCC Check DB.
Vous pouvez exécuter la commande DBCC CHECKDB suivante :
DBCC CHECKDB (‘stellardb’, REPAIR_REBUILD) ;
REPAIR_REBUILD est la meilleure option pour réparer la base de données. Elle essaiera de réparer toutes les informations.
Il existe également une option plus rapide pour réparer la base de données. Vous pouvez exécuter la commande ci-dessous pour une réparation rapide :
DBCC CHECKDB (‘stellardb’, REPAIR_FAST) ;
Cette option est utile en cas d’erreurs mineures.
Si les commandes ci-dessus ne parviennent pas à réparer la base de données, il existe une autre option :
DBCC CHECKDB (‘stellardb’, REPAIR_ALLOW_DATA_LOSS) ;
L’option de réparation des pertes de données tente de réparer les données dans la mesure du possible. Mais en cas d’erreurs graves, certaines données seront perdues.
Une fois la base de données réparée, vous pouvez vérifier si elle est en bon état. Vous pouvez exécuter la commande suivante pour vérifier la base de données :
DBCC CHECKDB(‘stellardb’) ;
La commande affiche le nom de la base de données, les derniers points de contrôle connus, les créations d’instantanés de la base de données et les messages. En cas d’erreurs, la commande affiche les pages contenant des erreurs. Elle indique également les erreurs d’allocation et de cohérence.
Pour vérifier si votre base de données est entièrement récupérée, exécutez la commande ci-dessous et assurez-vous que l’état de la base de données est EN LIGNE.
SELECT state_desc
FROM sys.databases
WHERE name = ‘stellardb’ ;
Une solution alternative – Réparer la base de données à l’aide de Stellar Repair for MS SQL
Stellar Repair for MS SQL est un logiciel puissant qui peut être utilisé comme alternative à la commande DBCC CHECKDB. Ce logiciel peut réparer vos fichiers MDF en quelques clics et récupérer vos informations. Il existe trois éditions de Stellar Repair for MS SQL, qui est un logiciel de récupération de bases de données SQL. L’édition complète est le Toolkit qui, outre la réparation de la base de données SQL corrompue, comprend d’autres outils pour récupérer les mots de passe, les sauvegardes, analyser les journaux et convertir le format de la base de données. Cependant, il existe d’autres versions du logiciel, telles que Technician et Corporate.
Meilleures pratiques pour prévenir la corruption des bases de données
Il est préférable de prévenir la corruption de la base de données en premier lieu. Voici quelques pratiques à suivre pour prévenir la corruption dans les bases de données SQL :
- Vérifiez régulièrement l’état de votre disque dur et de votre serveur.
- Contrôler régulièrement l’état de votre base de données
- Achetez un onduleur pour votre serveur afin d’éviter les coupures de courant soudaines
- Assurez-vous d’avoir le meilleur logiciel antivirus et anti-malware.
- Appliquer une stratégie de sauvegarde pour votre base de données
- Stockez vos fichiers de données et vos fichiers journaux sur des disques durs différents.
Importance des sauvegardes régulières des bases de données
La base de données peut être facilement corrompue. C’est pourquoi il est important de planifier et d’exécuter une stratégie de sauvegarde. La sauvegarde vous aidera à restaurer la base de données en cas de corruption ou de tout autre problème. Les recommandations suivantes peuvent être utiles pour une stratégie de sauvegarde :
- Essayez d’exécuter les sauvegardes en dehors des heures de travail afin de maintenir de bonnes performances pendant les heures de travail.
- Combinez les sauvegardes complètes avec les sauvegardes différentielles et les fichiers journaux des transactions pour optimiser l’espace.
- Testez vos sauvegardes pour vous assurer qu’elles fonctionnent correctement.
D’une manière générale, une sauvegarde complète est une bonne option pour les petites bases de données. Si votre base de données est volumineuse, vous devrez peut-être combiner des sauvegardes complètes avec des sauvegardes différentielles, des sauvegardes du journal des transactions ou des sauvegardes de fichiers/groupes de fichiers. Il est recommandé de diviser votre base de données en plusieurs fichiers de données pour des raisons de performance et de reprise après sinistre.
Conclusion
Dans cet article, nous avons examiné les raisons de la corruption de la base de données SQL Server. Nous avons également expliqué comment réparer une base de données corrompue en utilisant la commande DBCC CHECKDB avec différents paramètres. Nous avons également parlé des stratégies de sauvegarde des données. Nous avons également parlé des logiciels de récupération des bases de données SQL qui réparent les bases de données SQL corrompues. Enfin, nous avons discuté des meilleures pratiques pour éviter la corruption de la base de données SQL Server.