Parfois, lorsque vous vous connectez à un serveur SQL, vous pouvez constater que la base de données SQL (db) est marquée comme "SUSPECT".
Cela peut être dû à plusieurs raisons comme un fichier journal transactionnel manquant ou corrompu de la base de données, un matériel défectueux, une attaque de virus, un arrêt brutal du serveur SQL, etc. Consultez le journal des erreurs du serveur SQL pour connaître la cause spécifique du mode suspect de la base de données du serveur SQL.
Solution rapide : Il existe un moyen rapide de résoudre le problème du mode SUSPECT de la base de données SQL. Téléchargez le logiciel de réparation SQL et réparez la base de données SUSPECT et mettez-la EN LIGNE sans aucun temps d'arrêt.
Lorsque SQL Database passe en mode suspect, vous ne pouvez pas accéder à la base de données et vous ne pouvez pas effectuer de transactions jusqu'à ce qu'elle soit à nouveau en ligne. Pour résoudre ce problème, procédez comme suit :
Étape 1 : Mettre la base de données en mode URGENCE
Passez l'état de la base de données en mode URGENCE. Cela permettra aux utilisateurs d'accéder à la base de données en lecture seule. L'objectif principal du passage du mode de la base de données en mode d'urgence est de résoudre le problème qui a entraîné l'apparition d'un mode suspect dans la base de données.
Pour modifier l'état de la base de données en mode URGENCE, exécutez la requête T-SQL suivante :
ALTER DATABASE dbName SET EMERGENCY
Une fois que vous aurez modifié l'état de la base de données, vous pourrez y accéder.
Étape 2 : Vérifier l'intégrité de la base de données
Ensuite, exécutez la commande de console de base de données (DBCC) CHECKDB. Cette commande permet de vérifier l'intégrité logique et physique de la base de données spécifiée. Si elle détecte un problème dans la base de données, elle recommande des options de réparation appropriées telles que 'REPAIR_REBUILD', 'REPAIR_FAST' ou 'REPAIR_ALLOW_DATA_LOSS'.
Utilisez la requête suivante pour exécuter DBCC CHECKDB :
DBCC CHECKDB ('dbName')
Suggestion : Veillez à exécuter régulièrement la commande DBCC CHECKDB pour vérifier l'intégrité physique et logique de la base de données.
Étape 3 : Mettre la base de données en mode SINGLE_USER
Exécutez maintenant la requête T-SQL ci-dessous pour annuler toute transaction et ramener la base de données SQL en mode mono-utilisateur.
ALTER DATABASE dbName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
Étape 4 : Réparation de la base de données
Exécutez à nouveau DBCC CHECKDB avec les options de réparation pour réparer la base de données suspecte. Pour ce faire, utilisez la requête T-SQL suivante :
DBCC CHECKDB (dbName, REPAIR_ALLOW_DATA_LOSS)
Remarque : DBCC CHECKDB avec REPAIR_ALLOW_DATA_LOSS peut vous aider à corriger toutes les erreurs et à les réparer ; cependant, cela peut entraîner une perte de données dans la base de données réparée.
Étape 5 : Passage de la base de données en mode MULTI_USER
Si le script s'exécute correctement, ramenez la base de données du mode mono-utilisateur au mode multi-utilisateur. Pour ce faire, exécutez la commande suivante :
ALTER DATABASE dbName SET MULTI_USER
Étape 6 : Mise en ligne de la base de données
Pour modifier l'état de la base de données de EMERGENCY à ONLINE, exécutez la commande suivante :
ALTER DATABASE dbName SET ONLINE
En suivant les étapes ci-dessus, vous pourrez probablement résoudre le problème de la base de données SQL en mode suspect. Si le problème persiste, restaurez la base de données à partir d'une sauvegarde propre et mise à jour que vous avez créée avant le problème de la base de données en mode suspect. La restauration de la base de données à partir d'une sauvegarde est la méthode la plus efficace et la plus rapide pour résoudre le problème.
Pour obtenir des informations détaillées sur la récupération de la base de données MS SQL en mode suspect, veuillez consulter ce lien.
Si vous ne disposez pas de la sauvegarde la plus récente de la base de données ou si la sauvegarde est corrompue, le logiciel Stellar Repair for MS SQL peut vous aider. Le logiciel est conçu pour récupérer la base de données à partir du mode suspect, ainsi que pour réparer les fichiers de base de données MS SQL Server (.mdf & .ndf) endommagés ou corrompus. Il prend en charge toutes les dernières versions de SQL Server, y compris SQL Server 2019.