So beheben Sie, dass SCCM den Master-Datenbankfehler nicht wiederherstellen kann. Der Configuration Manager-SQL-Instanzdienst startet nicht. Wenn Sie versuchen, es zu starten, wird es gestoppt und der nächste Fehler wird im Ereignisprotokoll angezeigt.
Die Masterdatenbank kann nicht wiederhergestellt werden. SQL Server kann nicht ausgeführt werden. Stellen Sie den Master aus einem vollständigen Backup wieder her, repariere es, oder umbauen. Weitere Informationen zum Neuerstellen der Masterdatenbank, siehe SQL Server-Onlinedokumentation.
Ereignisprotokoll
Lösung 1: Von der Sicherung wiederherstellen
NOTIZ: Sie müssen über dieses Backup verfügen.
Wiederherstellung der Master-Datenbank vom SQL-Server oder einer anderen Backup-Lösung.
1. Führen Sie das ausSQL Server-Konfigurationsmanager;
2. Klicken Sie mit der rechten Maustaste aufSQL Server-Dienst und klicken Sie auf Eigenschaften;
3. Wählen Sie anschließend die ausRegisterkarte „Startparameter“.;
4. Typ - M im Geben Sie den Startparameter an Textfeld und klicken Sie auf Hinzufügen Taste. Klicken Anwenden;
6. Starten Sie Ihren SQL Server neu.
Verwenden Sie die Befehlszeile in SQL Server Management Studio, um Ihre SQL Server-Masterdatenbank aus der Sicherung wiederherzustellen.
1. Navigieren Sie zum Verzeichnis …/Tools/Bin und suchen Sie nachsqlcmd.exe;
2. Einmal lokalisiert, Führen Sie die aus sqlcmd.exe Datei;
3. Benutzen Sie die - S Flag für eine private Verbindung. Aber, wenn Sie einen öffentlichen Anschluss haben, Dann nutzen Sie die – U Und - P Flaggen;
4. Nachdem Sie dies getan haben, Sie können die Sicherung der Master-Datenbank problemlos wiederherstellen;
5. Jetzt entfernen - M Markieren Sie Dienste vom SQL Server und starten Sie den SQL Server neu, um zum Multi-Client-Modus zurückzukehren.
NOTIZ: Wenn Sie über eine andere Sicherungslösung wie Data Protection Manager verfügen, gibt es eine einfachere Möglichkeit, die SQL-Sicherung wiederherzustellen.
Lösung 2: Master-Datenbank neu erstellen
Mit dem folgenden Verfahren wird der Master neu erstellt, Modell, msdb, und tempdb-Systemdatenbanken. Sie können die Systemdatenbanken, die neu erstellt werden sollen, nicht angeben. Für geclusterte Instanzen, Dieses Verfahren muss auf dem aktiven Knoten durchgeführt werden und die SQL Server-Ressource in der entsprechenden Clusteranwendungsgruppe muss offline geschaltet werden, bevor das Verfahren durchgeführt wird.
Bei diesem Verfahren wird die Ressourcendatenbank nicht neu erstellt. Siehe den Abschnitt, “Erstellen Sie die Prozedur für die Ressourcendatenbank neu” später in diesem Thema.
So erstellen Sie Systemdatenbanken für eine Instanz von SQL Server neu:
1. Fügen Sie den SQL Server ein 2019 (15.X) Legen Sie das Installationsmedium in das Laufwerk ein, oder, über eine Eingabeaufforderung, Ändern Sie die Verzeichnisse in den Speicherort der Datei setup.exe auf dem lokalen Server. Der Standardspeicherort auf dem Server ist C:\ProgrammeMicrosoft SQL Server130Setup BootstrapSQLServer2016.
2. Aus einem Eingabeaufforderungsfenster, Geben Sie den folgenden Befehl ein. Zur Angabe optionaler Parameter werden eckige Klammern verwendet. Geben Sie die Klammern nicht ein. Bei Verwendung eines Windows-Betriebssystems mit Benutzerkontensteuerung (UAC) ermöglicht, Für die Ausführung des Setups sind erhöhte Berechtigungen erforderlich. Die Eingabeaufforderung muss als Administrator ausgeführt werden.
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName]
Parametername | Beschreibung |
/RUHIG oder /Q | Gibt an, dass Setup ohne Benutzeroberfläche ausgeführt wird. |
/ACTION=REBUILDDATABASE | Gibt an, dass Setup die Systemdatenbanken neu erstellt. |
/INSTANCENAME=Instanzname | Ist der Name der Instanz von SQL Server. Für die Standardinstanz, Geben Sie MSSQLSERVER ein. |
/SQLSYSADMINACCOUNTS=Konto | Gibt die Windows-Gruppen oder einzelnen Konten an, die hinzugefügt werden sollen Systemadministrator feste Serverrolle. Bei Angabe von mehr als einem Konto, Trennen Sie die Konten durch ein Leerzeichen. Zum Beispiel, eingeben BUILTINAdministrators MyDomainMyUser. Wenn Sie ein Konto angeben, dessen Kontoname ein Leerzeichen enthält, Schließen Sie das Konto in doppelte Anführungszeichen ein. Zum Beispiel, eingeben NT-AUTHORITÄTSYSTEM. |
[ /SAPWD=Sicheres Passwort ] | Gibt das Passwort für den SQL Server an An Konto. Dieser Parameter ist erforderlich, wenn die Instanz gemischte Authentifizierung verwendet (SQL Server- und Windows-Authentifizierung) Modus. ** Sicherheitshinweis ** Der An Das Konto ist ein bekanntes SQL Server-Konto und wird häufig von böswilligen Benutzern angegriffen. Es ist sehr wichtig, dass Sie ein sicheres Passwort verwenden An Anmeldung. Geben Sie diesen Parameter nicht für den Windows-Authentifizierungsmodus an. |
[ /SQLCOLLATION=Kollationsname ] | Gibt eine neue Sortierung auf Serverebene an. Dieser Parameter ist optional. Wenn nicht angegeben, Es wird die aktuelle Sortierung des Servers verwendet. ** Wichtig ** Durch das Ändern der Sortierung auf Serverebene wird die Sortierung vorhandener Benutzerdatenbanken nicht geändert. Alle neu erstellten Benutzerdatenbanken verwenden standardmäßig die neue Sortierung. |
[/SQLTEMPDBFILECOUNT=NumberOfFiles] | Gibt die Anzahl der Tempdb-Datendateien an. Dieser Wert kann bis zu erhöht werden 8 oder die Anzahl der Kerne, je nachdem, welcher Wert höher ist. Standardwert: 8 oder die Anzahl der Kerne, je nachdem, welcher Wert niedriger ist. |
[ /SQLTEMPDBFILESIZE=FileSizeInMB ] | Gibt die anfängliche Größe jeder tempdb-Datendatei in MB an. Das Setup ermöglicht die Größe bis zu 1024 MB. Standardwert: 8 |
[/SQLTEMPDBFILEGROWTH=FileSizeInMB] | Gibt das Dateiwachstumsinkrement jeder tempdb-Datendatei in MB an. Ein Wert von 0 zeigt an, dass das automatische Wachstum deaktiviert ist und kein zusätzlicher Speicherplatz zulässig ist. Das Setup ermöglicht die Größe bis zu 1024 MB. Standardwert: 64 |
[/SQLTEMPDBLOGFILESIZE=FileSizeInMB] | Gibt die anfängliche Größe der tempdb-Protokolldatei in MB an. Das Setup ermöglicht die Größe bis zu 1024 MB. Standardwert: 8. Zulässiger Bereich: Min = 8, max = 1024. |
[/SQLTEMPDBLOGFILEGROWTH=FileSizeInMB] | Gibt das Dateiwachstumsinkrement der tempdb-Protokolldatei in MB an. Ein Wert von 0 zeigt an, dass das automatische Wachstum deaktiviert ist und kein zusätzlicher Speicherplatz zulässig ist. Das Setup ermöglicht die Größe bis zu 1024 MB. Standardwert: 64 Zulässiger Bereich: Min = 8, max = 1024. |
[ /SQLTEMPDBDIR=Verzeichnisse ] | Gibt die Verzeichnisse für tempdb-Datendateien an. Bei Angabe von mehr als einem Verzeichnis, Trennen Sie die Verzeichnisse durch ein Leerzeichen. Wenn mehrere Verzeichnisse angegeben werden, werden die Tempdb-Datendateien im Round-Robin-Verfahren auf die Verzeichnisse verteilt. Standardwert: Systemdatenverzeichnis |
[ /SQLTEMPDBLOGDIR=Verzeichnis ] | Gibt das Verzeichnis für die tempdb-Protokolldatei an. Standardwert: Systemdatenverzeichnis |
3. Wenn Setup den Neuaufbau der Systemdatenbanken abgeschlossen hat, Es kehrt ohne Meldungen zur Eingabeaufforderung zurück. Untersuchen Sie die Protokolldatei „Summary.txt“, um sicherzustellen, dass der Vorgang erfolgreich abgeschlossen wurde. Diese Datei befindet sich unter C:\ProgrammeMicrosoft SQL Server130Setup BootstrapLogs.
Das RebuildDatabase-Szenario löscht Systemdatenbanken und installiert sie im bereinigten Zustand erneut. Weil die Einstellung der tempdb-Dateianzahl nicht bestehen bleibt, Der Wert der Anzahl der Tempdb-Dateien ist während des Setups nicht bekannt. daher, Das RebuildDatabase-Szenario kennt die Anzahl der erneut hinzuzufügenden Tempdb-Dateien nicht. Sie können den Wert der Anzahl der Tempdb-Dateien erneut mit dem Parameter SQLTEMPDBFILECOUNT angeben. Wenn der Parameter nicht bereitgestellt wird, RebuildDatabase fügt eine Standardanzahl von Tempdb-Dateien hinzu, Das sind so viele Tempdb-Dateien wie die CPU-Anzahl oder 8, je nachdem, welcher Wert niedriger ist.
In meinem Fall, Das hilft nicht und endet mit einem Fehler:
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
Ich versuche, das Ausführungskonto des SQL-Instanzdienstes zu ändern, aber das hilft nicht.
Lösung 3: Wechseln Sie zu einer anderen SQL Server-Instanz
NOTIZ: Sie müssen Zugriff auf die SCCM-SQL-Datenbank und die *.log-Datei haben.
1. Installieren Sie das Neue SQL Server-Instanz;
2. Öffnen Sie die Sicherheitseinstellungen für Datenbankdateien und fügen Sie sie hinzu Volle Kontrolle für Ihren aktuellen Benutzer;
3. Wiederholen Sie dies für *.Protokoll Datei für Ihre Datenbank;
4. Hängen Sie Configuration Manager an die neue SQL-Instanz an;
5. Mounten Sie die Configuration Manager-Installationsdatei *.iso und führen Sie sie aus Splash.hta;
6. Klicken Installieren;
7. Klicken Nächste;
8. Wählen Führen Sie eine Site-Wartung durch oder setzen Sie diese Site zurück und klicken Nächste;
9. Wählen Ändern Sie die SQL Server-Konfiguration und klicken Nächste;
10. Geben Sie die Details der neuen SQL Server-Instanz ein und klicken Sie auf Nächste;
11. Wenn der Vorgang abgeschlossen ist, Schließen Sie den Installationsassistenten.
12. Versuchen Sie, das auszuführen Configuration Manager-Konsole und prüfen Sie, ob alles in Ordnung ist.