Les plans de maintenance pour MSSQL existent depuis SQL Server 2000, mais ils n’ont jamais fait l’unanimité… Cela s’explique en partie par leur approche quelque peu lourde, particulièrement en ce qui concerne les index et les risques de corruptions de base de données. Au fil du temps, de nombreux administrateurs de bases de données (DBA) se sont tournés vers d’autres méthodes pour leur maintenance, en utilisant des outils comme Stellar Repair for MSSQL, Minion Reindex ou SQL Server Maintenance Solution.
Rappelons qu’un plan de maintenance est un workflow défini qui exécute un ensemble de tâches de maintenance préconfigurées, telles que la sauvegarde de bases de données, la reconstruction d’index ou l’exécution de jobs SQL Server Agent. Un plan de maintenance soigneusement conçu et planifié garantit que les tâches soient exécutées au bon moment, mais surtout, garantit qu’une optimisation continue des bases soit effectuée afin de maintenir des performances stables tout en évitant le risque de corruption de données. Une base de données qui n’est pas soigneusement maintenue aura un impact sur la performance des applications et la productivité des utilisateurs et plus grave encore, les données qu’elle contient se retrouvent également fragilisées et à risque. L’entretien et la réparation de bases MSSQL est donc un point crucial !
Méthode Manuelle de Réparation de Base de Données MSSQL
- database_name | database_id | 0: Spécifie le nom ou l’ID de la base de données sur lequel vous devez exécuter des contrôles d’intégrité. Si le « database_name » ou « database_id » n’est pas spécifié et « 0 » est spécifié, la base de données actuelle sera utilisée par défaut.
- NOINDEX: Cet argument effectue uniquement des vérifications logiques pour réduire le total temps d’exécution. De plus, il n’inclut pas les index non clusterisés dans les vérifications.
- REPAIR_ALLOW_DATA_LOSS | REPAIR_FAST | REPAIR_REBUILD: Pour réparer une base de données, vous devez exécuter la commande DBCC CHECKDB avec l’une de ces réparations options :
- REPAIR_ALLOW_DATA_LOSS: Utilisez cette option de réparation en dernier recours pour réparer une base de données SQL, car cela peut entraîner une perte de données.
- REPAIR_FAST: Cette option de réparation n’effectue aucune action de réparation. Ça aide conserver la syntaxe pour une compatibilité ascendante.
- REPAIR_REBUILD: L’option REPAIR_REBUILD permet de réparer la base de données sans aucune perte de données. Il peut être utilisé pour réparer les lignes manquantes dans des fichiers non clusterisés index et pour reconstruire un index.
- ALL_ERRORMSGS: Cet argument affiche tous les messages d’erreur pour chaque objet.
- EXTENDED_LOGICAL_CHECKS: À partir de SQL Server 2016, des logiques supplémentaires les vérifications ne sont pas effectuées sur les index et les vues filtrés. Pour effectuer les vérifications supplémentaires, vous devez utiliser l’option EXTENDED_LOGICAL_CHECKS.
- NO_INFOMSGS: La sortie DBCC affiche des messages d’information qui ne sont pas liés aux erreurs de cohérence. Exécuter DBCC CHECKDB avec NO_INFOMSGS peut désactiver les messages d’information.
- TABLOCK: Utilise des verrous plutôt qu’un instantané de base de données interne pour effectuer contrôles de cohérence sur une base de données.
- ESTIMATEONLY: Spécifie l’espace estimé requis par le ‘tempdb‘ base de données pour exécuter la commande CHECKDB.
- PHYSICAL_ONLY: Cela limite les contrôles de cohérence sur la structure physique du page de base de données, réduisant le temps d’exécution de DBCC CHECKDB sur les grandes bases de données.
- DATA_PURITY: Cela permet de vérifier une base de données pour les colonnes invalides ou hors plage valeurs.
Étapes pour le réparer en utilisant DBCC checkDB :
- Configuration de la base de données en mode d’urgence => ALTER DATABASE [Dbtest] SET EMERGENCY
- Rechercher une erreur de corruption => DBCC CHECKDB (Dbtest)
- Définition de la base de données du serveur en mode unique => ALTER DATABASE Dbtest SET SINGLE_USER
- Réparation de la base de données => DBCC CHECKDB (N ’Dbtest’, REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS, NO_INFOMSGS; GO
- Configuration de la base de données en mode multi-utilisateur => ALTER DATABASE Dbtest SET MULTI_USER
L’Alternative efficace : Stellar Repair for MSSQL
Stellar Repair for MSSQL est un logiciel avancé qui aide les administrateurs à réparer une base de données SQL corrompue et à récupérer tous les composants tels que les tables, les enregistrements supprimés, les clés, les déclencheurs, les procédures stockées, etc. Le logiciel enregistre les requêtes, vues, etc. non récupérables dans un fichier texte. Il prévisualise les composants récupérables et les enregistre dans une nouvelle base de données, une base de données dynamique ou d’autres formats (comme HTML, CSV et XLS).
La dernière version de l’outil permet d’identifier et de réparer automatiquement divers problèmes de base de données et d’effectuer une réparation plus rapide en vous permettant de sauvegarder plusieurs tables simultanément. De plus, les modes de sauvegarde rapide et avancée du logiciel permettent de sauvegarder la base de données réparée selon vos besoins. L’enregistrement rapide est conseillé pour les grandes bases de données, car il effectue une réparation rapide de la base de données en enregistrant d’abord les données réparées, puis en enregistrant les index. Advanced Saving est le mode recommandé qui enregistre les données et les index ensemble. Le logiciel enregistre le rapport de journal du processus complet de réparation de la base de données SQL pour analyser le processus de réparation ultérieurement.
Le plus gros point fort de cette solution ? Son interface conviviale simplifie énormément le processus de réparation, le rendant accessible aux utilisateurs techniques et non techniques.
Avantages de Stellar Repair for MSSQL
Stellar Repair for MSSQL est capable de restaurer facilement et rapidement une base de données SQL avec un temps d’arrêt minimal. Il répare les fichiers de base de données SQL corrompus (MDF et NDF) et extrait les données de la sauvegarde corrompue dans un fichier isolé (.BAK). Il prend en charge MSSQL 2022, 2019, 2017, 2016 ainsi que toutes les versions inférieures. Les possibilités de réparation sont très larges, et prennent en charge tous les types de corruption, y compris les problèmes de cohérence et d’intégrité.
Le gain de temps peut être énorme par rapport à son équivalent manuel, sans compter que les compétences techniques requises pour son usage sont bien moindres que les outils standards habituels.
De ce fait, les risques liés à l’intégrité des données sont considérablement réduits, et ce, même durant une réparation de base de donnée endommagée.
A chaque fin de processus de réparation, une journalisation et des rapports détaillés sont fournis.
Comment Utiliser Stellar Repair for MSSQL
- Téléchargez et installez Stellar Repair for MSSQL (une version d’essai est disponible).
- Lancez le logiciel et connectez-vous à la base de données corrompue.
- Sélectionnez la base de données corrompue et lancez le processus de traitement.
- Prévisualisez les objets récupérables et choisissez ce qu’il faut réparer.
- Lancez le processus de réparation et attendez qu’il se termine.
- Vérifiez la base de données réparée et enregistrez-la dans un emplacement sécurisé.
Conclusion
Stellar Repair for MSSQL est donc une alternative intéressante par rapport aux méthodes standards de réparation manuelle de bases de données. Côté tarifs, comptez entre 299€ et 499€ selon le type de licence souhaitée et les enjeux et fonctionnalités.
Le logiciel est une sorte de boîte à outils tout-en-un pour les utilisateurs MS SQL, permettant non seulement d’aider à extraire les données des fichiers .bak endommagés, mais aussi de fournir des utilitaires spécifiques pour réparer les bases de données MSSQL corrompues et réinitialiser les mots de passe perdus des administrateurs et des utilisateurs.
C’est une solution fiable qui doit être envisagée pour certains utilisateurs ayant des compétences limitées dans l’expertise DBA.
Note : article publi-rédactionnel