Comment réparer SCCM ne peut pas récupérer l'erreur de base de données principale. Le service Configuration Manager SQL Instance ne démarre pas. Lorsque vous essayez de le démarrer, il s'arrête et apporte la prochaine erreur dans le journal des événements.
Impossible de récupérer la base de données master. SQL Server ne peut pas s'exécuter. Restaurer le maître à partir d'une sauvegarde complète, répare le, ou le reconstruire. Pour plus d'informations sur la reconstruction de la base de données master, voir la documentation en ligne de SQL Server.
Journal des événements
Solution 1: Restore depuis une sauvergarde
NOTE: Vous devez avoir cette sauvegarde.
Restauration de la base de données master à partir du serveur SQL ou d'une autre solution de sauvegarde.
1. Exécutez leGestionnaire de configuration SQL Server;
2. Faites un clic droit sur leService SQL Server et cliquez sur Propriétés;
3. Après cela, sélectionnez leonglet paramètres de démarrage;
4. Taper – m dans le Spécifiez le paramètre de démarrage zone de texte et cliquez sur le Ajouter bouton. Cliquez sur Appliquer;
6. Redémarrez votre serveur SQL.
Utilisez la ligne de commande dans SQL Server Management Studio pour restaurer votre base de données maître SQL Server à partir de la sauvegarde.
1. Accédez au répertoire …/Tools/Bin et recherchezsqlcmd.exe;
2. Une fois localisé, exécuter le sqlcmd.exe déposer;
3. Utilisez le –S drapeau pour une connexion privée. Mais, si vous avez une connexion publique, puis utilisez le – U et –P drapeaux;
4. Après avoir fait ça, vous pourrez facilement restaurer la sauvegarde de la base de données principale;
5. Supprimez maintenant – m marquer les services du serveur SQL et redémarrer le serveur SQL pour revenir au mode multi-client.
NOTE: Si vous avez une autre solution de sauvegarde comme Data Protection Manager, il existe un moyen plus simple de restaurer la sauvegarde SQL.
Solution 2: Reconstruire la base de données principale
La procédure suivante reconstruit le maître, modèle, msdb, et bases de données système tempdb. Vous ne pouvez pas spécifier les bases de données système à reconstruire. Pour les instances en cluster, cette procédure doit être effectuée sur le nœud actif et la ressource SQL Server dans le groupe d'applications de cluster correspondant doit être mise hors ligne avant d'effectuer la procédure.
Cette procédure ne reconstruit pas la base de données des ressources. Voir la rubrique, “Reconstruire la procédure de base de données de ressources” plus loin dans ce sujet.
Pour reconstruire les bases de données système pour une instance de SQL Server:
1. Insérez le serveur SQL 2019 (15.X) support d'installation dans le lecteur de disque, ou, à partir d'une invite de commande, changer de répertoire à l'emplacement du fichier setup.exe sur le serveur local. L'emplacement par défaut sur le serveur est C:\Program FilesMicrosoft SQL Server130Setup BootstrapSQLServer2016.
2. À partir d'une fenêtre d'invite de commande, entrez la commande suivante. Les crochets sont utilisés pour indiquer les paramètres facultatifs. Ne pas entrer les parenthèses. Lors de l'utilisation d'un système d'exploitation Windows doté du contrôle de compte d'utilisateur (UAC) activé, l'exécution de l'installation nécessite des privilèges élevés. L'invite de commande doit être exécutée en tant qu'administrateur.
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName]
Le nom du paramètre | Description |
/SILENCIEUX ou /Q | Spécifie que le programme d'installation s'exécute sans aucune interface utilisateur. |
/ACTION=RECONSTRUIRE LA BASE DE DONNEES | Spécifie que le programme d'installation recrée les bases de données système. |
/INSTANCENAME=Nom de l'instance | Est le nom de l'instance de SQL Server. Pour l'instance par défaut, entrez MSSQLSERVER. |
/SQLSYSADMINACCOUNTS=compte | Spécifie les groupes Windows ou les comptes individuels à ajouter au administrateur système rôle de serveur fixe. Lorsque vous spécifiez plus d'un compte, séparer les comptes par un espace vide. Par exemple, entrer BUILTINAdministrateurs MonDomaineMonUtilisateur. Lorsque vous spécifiez un compte qui contient un espace vide dans le nom du compte, mettre le compte entre guillemets doubles. Par exemple, entrer AUTORITE NTSYSTEME. |
[ /SAPWD=StrongPassword ] | Spécifie le mot de passe pour le serveur SQL sur compte. Ce paramètre est obligatoire si l'instance utilise l'authentification mixte (Authentification SQL Server et Windows) mode. ** Note de sécurité ** Le sur Le compte est un compte SQL Server bien connu et il est souvent ciblé par des utilisateurs malveillants. Il est très important que vous utilisiez un mot de passe fort pour le sur se connecter. Ne spécifiez pas ce paramètre pour le mode d'authentification Windows. |
[ /SQLCOLLEMENT=NomCollation ] | Spécifie un nouveau classement au niveau du serveur. Ce paramètre est facultatif. Lorsqu'il n'est pas spécifié, le classement actuel du serveur est utilisé. ** Important ** La modification du classement au niveau du serveur ne modifie pas le classement des bases de données utilisateur existantes. Toutes les bases de données utilisateur nouvellement créées utiliseront le nouveau classement par défaut. |
[/SQLTEMPDBFILECOUNT=NombreDeFichiers] | Spécifie le nombre de fichiers de données tempdb. Cette valeur peut être augmentée jusqu'à 8 ou le nombre de cœurs, celui qui est le plus élevé. Valeur par défaut: 8 ou le nombre de cœurs, celui qui est le plus bas. |
[ /SQLTEMPDBFILESIZE=TailleFichierEn Mo ] | Spécifie la taille initiale de chaque fichier de données tempdb en Mo. La configuration permet la taille jusqu'à 1024 Mo. Valeur par défaut: 8 |
[/SQLTEMPDBFILEGROWTH=TailleFichierEn Mo] | Spécifie l'incrément de croissance du fichier de chaque fichier de données tempdb en Mo. Une valeur de 0 indique que la croissance automatique est désactivée et qu'aucun espace supplémentaire n'est autorisé. La configuration permet la taille jusqu'à 1024 Mo. Valeur par défaut: 64 |
[/SQLTEMPDBLOGFILESIZE=TailleFichierEn Mo] | Spécifie la taille initiale du fichier journal tempdb en Mo. La configuration permet la taille jusqu'à 1024 Mo. Valeur par défaut: 8. Plage autorisée: Min = 8, maximum = 1024. |
[/SQLTEMPDBLOGFILEGROWTH=TailleFichierEn Mo] | Spécifie l'incrément de croissance du fichier du fichier journal tempdb en Mo. Une valeur de 0 indique que la croissance automatique est désactivée et qu'aucun espace supplémentaire n'est autorisé. La configuration permet la taille jusqu'à 1024 Mo. Valeur par défaut: 64 Plage autorisée: Min = 8, maximum = 1024. |
[ /SQLTEMPDBDIR=Répertoires ] | Spécifie les répertoires pour les fichiers de données tempdb. Lors de la spécification de plusieurs répertoires, séparer les répertoires par un espace vide. Si plusieurs répertoires sont spécifiés, les fichiers de données tempdb seront répartis dans les répertoires de manière circulaire. Valeur par défaut: Répertoire des données système |
[ /SQLTEMPDBLOGDIR=Répertoire ] | Spécifie le répertoire du fichier journal tempdb. Valeur par défaut: Répertoire des données système |
3. Lorsque le programme d'installation a terminé la reconstruction des bases de données système, il revient à l'invite de commande sans message. Examinez le fichier journal Summary.txt pour vérifier que le processus s'est terminé avec succès. Ce fichier se trouve en C:\Program FilesMicrosoft SQL Server130Setup BootstrapLogs.
Le scénario RebuildDatabase supprime les bases de données système et les installe à nouveau dans un état propre. Parce que le réglage du nombre de fichiers tempdb ne persiste pas, la valeur du nombre de fichiers tempdb n'est pas connue lors de l'installation. Donc, Le scénario RebuildDatabase ne connaît pas le nombre de fichiers tempdb à rajouter. Vous pouvez fournir à nouveau la valeur du nombre de fichiers tempdb avec le paramètre SQLTEMPDBFILECOUNT. Si le paramètre n'est pas fourni, RebuildDatabase ajoutera un nombre par défaut de fichiers tempdb, qui est autant de fichiers tempdb que le nombre de CPU ou 8, celui qui est le plus bas.
Dans mon cas, cela n'aide pas et se termine par une erreur:
Detailed results:
Feature: Database Engine Services
Status: Failed
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, and then try the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: https://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.3192.2&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
J'essaie de modifier le compte d'exécution du service SQL Instance, mais cela n'aide pas.
Solution 3: Déplacer vers une autre instance SQL Server
NOTE: Vous devez avoir accès à la base de données SCCM SQL et au fichier *.log.
1. Installez le nouveau Instance SQL Server;
2. Ouvrez les paramètres de sécurité du fichier de base de données et ajoutez Controle total pour votre utilisateur actuel;
3. Répétez ceci pour *.enregistrer fichier pour votre base de données;
4. Attacher Configuration Manager à la nouvelle instance SQL;
5. Monter le fichier d'installation *.iso de Configuration Manager et exécuter splash.hta;
6. Cliquez sur Installer;
7. Cliquez sur Suivant;
8. Sélectionner Effectuer la maintenance du site ou réinitialiser ce site et cliquez Suivant;
9. Sélectionner Modifier la configuration du serveur SQL et cliquez Suivant;
10. Entrez les détails de la nouvelle instance SQL Server et cliquez sur Suivant;
11. Lorsque le processus est terminé, fermer l'assistant d'installation.
12. Essayez d'exécuter le Console du gestionnaire de configuration et vérifie que tout va bien.