MS SQL Server fournit des commandes DBCC CHECKDB pour vérifier et réparer les bases de données endommagées. Cependant, lorsque vous exécutez cette commande pour réparer la base de données, elle échoue parfois et affiche un message d’erreur. Le message d’erreur peut ressembler à ceci :
Msg 8930, niveau 16, statut 1, ligne 1 Erreur de base de données : La base de données 1 a des métadonnées incohérentes. Cette erreur ne peut pas être corrigée et empêche la poursuite du traitement DBCC. Veuillez-vous remettre à partir d’une sauvegarde.
Le message d’erreur indique que la commande DBCC a échoué en raison d’une détérioration des métadonnées. Les métadonnées contiennent les catalogues et des informations sur les tables. Elles stockent des informations sur la structure et les objets de la base de données. Par exemple, les tables système contiennent des informations sur les tables utilisateur et la table de vue sys.objects contient des informations sur les tables, les procédures stockées, les vues et d’autres objets.
Cette erreur peut se produire pour diverses raisons, par exemple en raison d’un dommage matériel, d’une erreur logicielle, etc. Voyons comment vous pouvez corriger cette erreur et remettre les données d’une base de données corrompue.
Si les métadonnées sont corrompues, vous ne pourrez pas travailler avec la base de données. Malheureusement, vous ne pouvez pas réparer la base de données à l’aide de la commande DBCC si ce problème survient. Vous devez donc remettre les données en état à partir de la sauvegarde.
La sauvegarde est un fichier qui contient une copie des données et comprend également les métadonnées des bases de données du serveur SQL. Vous pouvez remettre votre base de données à jour jusqu’à la date de la sauvegarde. Si vous disposez d’un journal des transactions, vous pouvez remettre les données en entrant la date et l’heure.
Pour remettre la base de données à partir de la sauvegarde, suivez les étapes indiquées :
- Ouvrez SQL Server Management Studio (SSMS).
- Connectez-vous à l’instance du serveur SQL.
- Dans l’Explorateur d’objets, cliquez avec le bouton droit de la souris sur l’option Bases de données et sélectionnez l’option Restaurer la base de données.
- Sélectionnez l’option Appareil, puis cliquez sur les ellipses (…) pour trouver le fichier de sauvegarde.
- Cliquez sur Ajouter et naviguez jusqu’au bureau où se trouve votre fichier de sauvegarde (.bak).
- Sélectionnez le fichier et cliquez sur OK.
- Cliquez à nouveau sur OK pour fermer la fenêtre Sélectionner les périphériques de sauvegarde.
- Cliquez sur OK pour remettre la sauvegarde de la base de données.
Vous pouvez également utiliser la commande Transact-SQL suivante pour remettre la sauvegarde de la base de données :
USE [master] ;
GO
RESTORE DATABASE [StellarDB]
FROM DISK = N’C:\NProgram Files\NMicrosoft SQL Server\NMSSQL14.MSSQLSERVER\NMSSQL\NBackup\NStellarDB.bak’ WITH FILE = 1, NOUNLOAD, STATS = 5 ;
GO
Que se passe-t-il si la sauvegarde n’est pas disponible ?
Si la copie de sauvegarde est corrompue ou indisponible, la seule option est de réparer la base de données corrompue ou le fichier de sauvegarde à l’aide d’un logiciel de réparation de bases de données SQL tiers tel que Stellar Repair for MS SQL – Technician. Ce logiciel peut facilement réparer le fichier de sauvegarde de la base de données SQL Server corrompu et remettre tous les objets avec une intégrité complète.
Pour réparer le fichier de sauvegarde de la base de données SQL avec le logiciel, procédez comme suit :
- Ouvrez le logiciel et sélectionnez l’option Extraire de la sauvegarde MSSQL.
- Cliquez sur l’icône Sélectionner une sauvegarde.
- Deux options s’affichent : Rechercher et Parcourir. Vous pouvez utiliser l’option Rechercher pour rechercher le fichier de sauvegarde si vous ne connaissez pas son bureau. Sinon, vous pouvez cliquer sur le bouton Parcourir et sélectionner le fichier de sauvegarde.
- Une fois que vous avez sélectionné le fichier de sauvegarde, appuyez sur le bouton Numériser.
- Sélectionnez le mode de numérisation standard.
- Sélectionnez les données que vous souhaitez remettre et appuyez sur Suivant. Si vous ne souhaitez remettre que quelques tables, vous pouvez sélectionner des tables individuelles.
- Cliquez ensuite sur le bouton Enregistrer.
- Vous pouvez enregistrer les données dans,
- Nouvelle base de données
- Base de données en direct (une base de données existante)
- Autres formats, tels que Excel, CSV, etc. (pour enregistrer les données de certains tableaux)
Conclusion
L’erreur 8930 se produit lorsque vous essayez de réparer une base de données corrompue à l’aide de la commande DBCC CHECKDB dans SQL Server. Cela se produit lorsque les métadonnées sont corrompues ou endommagées. Dans ce cas, vous ne pouvez pas réparer la base de données à l’aide de la commande DBCC CHECKDB. La seule option consiste donc à remettre la base de données à partir d’une sauvegarde récente et saine. Toutefois, si la sauvegarde est indisponible ou corrompue, vous pouvez utiliser Stellar Repair for MS SQL pour réparer la base de données corrompue ou la sauvegarde.
Was this article helpful?