Summary: Dans ce blog, vous apprendrez comment vérifier si un index en grappe dans SQL Server est corrompu. Il aborde également les causes de la corruption de l'index en grappe de SQL Server et la manière de résoudre le problème. Vous pouvez remettre la base de données à partir de la sauvegarde ou utiliser le logiciel de réparation de base de données SQL pour réparer la corruption de l'index en grappe dans MS SQL Server.
La base de données Microsoft SQL Server est utilisée par plusieurs moyennes et grandes entreprises pour stocker et accéder à leurs grandes quantités de données de manière sûre et fiable. Bien que le fichier MDF principal de la base de données et le fichier NDF secondaire soient très fiables, ils ne sont pas à l’abri d’une corruption.
Il peut y avoir plusieurs raisons à la corruption des fichiers de base de données SQL. L’une d’entre elles est la corruption de l’index du cluster de la base de données, qui rend les données stockées dans les fichiers MDF et NDF inaccessibles.
Comment vérifier si l’index du serveur SQL est corrompu ?
Si l’index en grappe de SQL Server est corrompu, vous pouvez recevoir un message d’erreur qui se présente comme suit :
Server : Msg 1902, Level 16, State 3, Line 1
Impossible de créer plus d’un index en grappe sur la table ‘Nom de la table’. Supprimez l’index en grappe existant “Nom de l’index en grappe” avant d’en créer un autre.
Si vous n’avez pas reçu l’erreur 1902 du serveur SQL, vous pouvez vérifier si l’index de cluster est corrompu de la manière suivante :
– Essayez de récupérer les données du serveur SQL à partir de quelques lignes. Si un index est corrompu, SQL Server affiche des valeurs supprimées ou autres dans les lignes de la base de données.
– Vérifiez le rapport du journal SQL Server pour voir si les registres ont été édités plus d’une fois ou non. Si vous constatez que les registres sont édités plus d’une fois, cela signifie que l’index est corrompu.
Quelles sont les causes de la corruption d’un index clusterisé dans MS SQL ?
Une table ne peut avoir qu’un seul index en grappe car l’index en grappe détermine l’ordre physique de stockage des données dans la table. L’erreur 1902 de SQL Server indique qu’il y a plus d’un index en grappe dans la table.
Comment réparer une corruption d’index en grappe dans MS SQL ?
Étant donné qu’une table d’une base de données SQL Server ne peut avoir qu’un seul index en grappe, tout index supplémentaire pour la table doit être créé en tant qu’index non en grappe. Si vous souhaitez modifier la mise en cluster de la table de la base de données SQL, vous devez d’abord supprimer l’index en cluster existant avant d’en créer un nouveau.
Il existe deux méthodes pour gérer la corruption de l’index en grappe de SQL Server. Vous pouvez soit le faire en : –
Remettre en état à partir d’une sauvegarde
– Logiciel de réparation des bases de données SQL.
Avant de poursuivre
Avant d’essayer de réparer l’index en grappe corrompu dans la base de données SQL, vous devez essayer de trouver les raisons exactes de la corruption. Pour ce faire, vous pouvez utiliser la commande intégrée DBCC CHECKDB. L’exécution de cette commande permet de vérifier l’intégrité logique et physique de la base de données et renvoie l’ID de la base de données, l’ID de l’objet et l’ID de l’index corrompu.
DBCC CHECKDB (CorruptDBName) With No_InfoMsgs, All_ErrorMsgs,
TableResults ;
GO
Après avoir vérifié l’ID de l’index, vous pouvez facilement choisir l’action appropriée pour résoudre le problème.
Méthode 1 – Remettre en état à partir d’une sauvegarde
S’il existe une copie de sauvegarde de la base de données du serveur SQL, elle peut être remise à tout moment pour obtenir la copie de travail de la base de données du serveur. Toutefois, cette méthode de remise en état au niveau de la page n’est utile que si la base de données n’a subi que quelques modifications et qu’une seule page de l’index a été endommagée.
Si plusieurs pages de la base de données en cluster sont endommagées, vous devez effectuer la récupération au niveau de la base de données.
Lisez ceci : Comment récupérer une base de données dans SQL Server à partir d’un fichier .Bak, étape par étape
Méthode 2 – Utiliser le logiciel de réparation de bases de données SQL
L’autre façon de traiter la corruption du cluster de bases de données SQL est d’utiliser le logiciel de réparation de bases de données SQL, qui est capable de réparer les fichiers de bases de données Microsoft SQL Server (MDF) corrompus ou endommagés en toute sécurité, de manière fiable et avec succès. L’utilisation du logiciel rend le processus rapide et élimine l’intervention manuelle. C’est aussi la meilleure alternative si vous n’avez pas de sauvegarde.
La voie à suivre – Stellar Repair for MS SQL
Le logiciel Stellar Repair for MS SQL corrige facilement le problème d’index de cluster. Il s’agit d’une application facile à utiliser qui offre plusieurs avantages en plus de la réparation des fichiers MDF corrompus de SQL Server. Ses capacitéés en plus sont les suivantes :
- Réparation des fichiers MDF et NDF endommagés
- Récupère les tables, les index, les déclencheurs, les règles, les clés et les valeurs par défaut.
- Récupération des registres effacés
- Rechercher et remettre en état des objets spécifiques de la base de données
- Enregistre les fichiers réparés dans les formats MDF (New MS SQL Database ou Live MS SQL Database), XLS, CSV et HTML
- Prise en charge de MS SQL Server 2019, 2017, 2016 et des versions inférieures.