SQL Server maintient des bases de données système (master, model, msdb et resource) pour qu’une instance de serveur puisse fonctionner. Cependant, vous ne pouvez pas vous connecter à une instance de serveur si les bases de données système sont corrompues. Pour remettre le serveur en ligne, vous pouvez essayer de restaurer les bases de données système à partir de sauvegardes. S’il n’existe pas de sauvegarde récente, la reconstruction des bases de données système peut aider à résoudre le problème. Ce blog explique les étapes de la reconstruction des bases de données système.
Avant de commencer le processus de reconstruction, vous devez respecter certaines conditions préalables pour vous assurer que les bases de données du système seront restaurées dans leurs paramètres d’origine.
Conditions préalables
- Assurez-vous d’être membre du rôle de serveur fixe sysadmin serveur fixe pour reconstruire les bases de données du système.
- Gardez une trace des correctifs appliqués à votre instance de serveur et de la collation actuelle. Vous devrez réappliquer les correctifs après avoir terminé le processus de reconstruction.
- Lorsque les bases de données système sont reconstruites, elles sont installées à l’emplacement d’origine. Par conséquent, si vous avez déplacé les fichiers de données ou les fichiers journaux (.ldf) d’une base de données système vers un autre emplacement, vous devrez à nouveau déplacer les fichiers. Vous devez donc enregistrer l’emplacement actuel des fichiers de données et des fichiers journaux.
- Les fichiers modèles sont nécessaires au cours du processus de reconstruction. Assurez-vous que les copies des fichiers de modèle de données et de journaux master, model et msdb existent sur le serveur local. Vous pouvez trouver les fichiers modèles à l’adresse suivante
C:\NProgram Files\NMicrosoft SQL Server\NMSSQLxx.MSSQLSERVER\NMSSQL\NBinn\NModèles
Etapes pour reconstruire les bases de données système dans SQL Server
Remarque : avant d’appliquer les étapes suivantes, vérifiez les journaux d’erreurs SQL pour obtenir plus de détails sur la raison pour laquelle l’instance de serveur ne démarre pas. Il est probable que le problème ne soit pas lié à la base de données principale.
Procédez comme suit pour reconstruire les bases de données système d’une instance de serveur :
- Avant de lancer le processus de reconstruction, effectuez une sauvegarde complète de toutes les bases de données du système et des utilisateurs. Il se peut que vous deviez restaurer la sauvegarde pour éviter toute perte de données. Pour plus de détails, voir Sauvegarde et restauration des bases de données système (SQL Server).
- Allez sur le lecteur de votre support d’installation pour copier l’emplacement du fichier setup.exe sur le serveur local de votre système. Par défaut, le fichier setup.exe est placé dans :
C:\NProgram Files\NMicrosoft SQL Server\N140\NSetup Bootstrap\NSQLServer2017
Ici, ‘140’ est le numéro de version du serveur SQL. Vous pouvez remplacer la version par la version de votre serveur SQL (‘110’, ‘120’, ‘130’, etc.).
- Ouvrez maintenant l’invite de commande en tant qu’administrateur et exécutez le script suivant :
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=NomInstance /SQLSYSADMINACCOUNTS=accounts [ /SAPWD=Motdepassefort ] [ /SQLCOLLATION=NomCollation].
Dans la commande ci-dessus, remplacez NomInstance par le nom de votre instance SQL Server.
Remplacez également ‘=accounts‘ par le nom du compte Windows local ou le nom de domaine que vous souhaitez utiliser pour accéder au serveur SQL après le processus de reconstruction. Ceci est important car vous allez perdre toutes les connexions lors de la reconstruction de la base de données principale. Si vous ajoutez plus d’un compte, saisissez un espace vide pour séparer les comptes. Ajoutez également un mot de passe pour le compte SQL Server.
Par exemple, dans la commande REBUILD, nous avons remplacé le nom de l’instance par MSSQLSERVER que nous allons reconstruire. En outre, nous avons ajouté le nom du compte Windows local pour le compte SYSADMINACCOUNTS et saisi le mot de passe pour le compte SA. Nous avons supprimé SQLCOLLATION, car il n’est pas nécessaire.
Appuyez sur Entrée et le processus de reconstruction s’achève sans erreur. Vous pouvez vérifier si le processus de reconstruction s’est terminé avec succès en consultant le fichier journal Summary.txt. Ce fichier se trouve dans le chemin – C:\NProgram Files\NMicrosoft SQL Server\N40\NSetup Bootstrap\NLogs.
- Une fois le processus de reconstruction terminé, il se peut que vous deviez restaurer les bases de données du système à partir de la sauvegarde effectuée à l’étape 1. Cela se produit généralement lorsque vous devez récupérer des bases de données d’utilisateurs (perdues) qui étaient présentes avant le processus de reconstruction. Une fois le processus de restauration terminé, le serveur SQL s’arrête. Redémarrez le serveur et vérifiez si vous pouvez accéder aux bases de données.
En conclusion
Ce blog explique les instructions étape par étape pour reconstruire toutes les bases de données du système. Il a également souligné certaines conditions préalables que vous devez remplir avant de procéder à la reconstruction. Pour réparer les fichiers de base de données SQL Server corrompus (.mdf et .ndf), vous pouvez utiliser un outil de réparation de base de données SQL. Stellar Repair for MS SQL est l’un de ces outils qui permet de réparer les fichiers .mdf et .ndf et de restaurer la base de données dans sa forme originale avec toutes les données intactes.