Beheben von Modelldatenbankbeschädigungen in SQLLocalDB
In diesem Artikel wird ein bekanntes Problem im SQLLocalDB-Hilfsprogramm beschrieben, das verhindern kann, dass der ADSync-Dienst aufgrund einer beschädigten Model
Datenbank gestartet wird. Dieses Problem betrifft hauptsächlich Microsoft Entra Connect 2.x-Server , die auf einer Microsoft SQL Server 2019 LocalDB ausgeführt werden.
Das Problem wird durch einen Fehler in der SQL Server-Sicherungslogik verursacht, der einen inkonsistenten Zustand auf der SQL Server-Datenbankstartseite Model
erstellt. Nachdem eine Sicherung erfolgt, wird die Model
Datenbank auf den FULL
Wiederherstellungsmodus (dbi_status
== 0x40010000) festgelegt, und die dbi_dbbackupLSN
(LSN-Protokollsequenznummer) für die Datenbanksicherung wird auf einen Wert festgelegt, der auf eine Protokolldatei verweist. Der tatsächliche Wiederherstellungsmodus, der von der Master
Datenbank gesteuert wird, ist SIMPLE
jedoch .
Im SIMPLE
Wiederherstellungsmodus werden Datenbankprotokolle automatisch abgeschnitten. Im FULL
Wiederherstellungsmodus werden Protokolle erst nach einer Sicherung abgeschnitten. Wenn SQLLocalDB neu gestartet wird, nachdem die Protokolldatei abgeschnitten wurde, erkennt sie einen Sicherungs-LSN, der vor der frühesten Protokolldatei liegt. Daher wird der Dienst nicht gestartet.
Lesen Sie die Anleitungen in den nächsten Abschnitten, um zu erfahren, wie Sie die folgenden Aufgaben ausführen:
Ermitteln Sie ordnungsgemäß, ob der Microsoft Entra Connect-Dienst (ADSync) aufgrund von
Model
Datenbankbeschädigungen nicht gestartet wird.Beheben Sie das Problem, indem Sie die
Model
Datenbank aus einem beschädigten Zustand wiederherstellen.Wenden Sie einen dauerhaften Fix an, um sicherzustellen, dass diese
Model
Datenbankbeschädigung nicht mehr auftritt.
Symptome
Sie können überprüfen, ob das Problem auf den folgenden Ereignissen auf dem Microsoft Entra Connect-Server basiert:
Ereignisanzeige: Application, EventID 528, Source: SQLLocalDB 15.0
WaitForMultipleObjects 575 {Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application. 3714
Ereignisanzeige: Application, EventIDs 2005 und 6226, Source: ADSync
0x8023044a OriginalError=0x80004005 OLEDB Provider error(s): Description = 'Login timeout expired' Failure Code = 0x80004005
SQLLocalDB error.log Datei im <ADSync-Dienstprofilpfad>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ADSync2019
<yyyy-MM-dd HH:mm:ss.##> spid14s The resource database build version is 15.00.4138. This is an informational message only. No user action is required. <yyyy-MM-dd HH:mm:ss.##> spid8s Starting up database 'msdb'. <yyyy-MM-dd HH:mm:ss.##> spid14s Starting up database 'model'. <yyyy-MM-dd HH:mm:ss.##> spid14s Error: 9003, Severity: 20, State: 1. <yyyy-MM-dd HH:mm:ss.##> spid14s The log scan number (41:488:1) passed to log scan in database 'model' is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup. <yyyy-MM-dd HH:mm:ss.##> spid14s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.
Minderung
Wichtig
Wenden Sie nur die hier beschriebenen Entschärfungsschritte an, wenn alle diese Bedingungen auftreten:
Die Version von Microsoft Entra Connect ist 2.0.x.x.
Microsoft Entra Connect wird mit SQL LocalDB installiert.
Alle Bedingungen, die in "Symptome " aufgeführt sind, sind vorhanden.
Führen Sie die folgenden Schritte aus, um die Model
Datenbank aus einem beschädigten Zustand wiederherzustellen:
Wechseln Sie zu einem der folgenden ADSync-Dienstprofilspeicherorte, abhängig von dem Dienstkonto, das ausgeführt wird (z. B. ein Domänenkonto, ein virtuelles Dienstkonto oder ein verwaltetes Dienstkonto):
- C:\Users\<service account>\
- C:\Users\ADSyncMSAxxxx$\
- C:\Windows\ServiceProfiles\ADSync\
Öffnen Sie die error.log Datei aus dem ADSync2019-Instanzordner im folgenden Verzeichnispfad:
<Dienstprofilpfad>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ADSync2019\
Suchen Sie den folgenden Fehlereintrag im Protokoll, um zu überprüfen, ob die
Model
Datenbank beschädigt ist:<yyyy-MM-dd HH:mm:ss.##> spid14s Error: 9003, Severity: 20, State: 1. <yyyy-MM-dd HH:mm:ss.##> spid14s The log scan number (41:488:1) passed to log scan in database 'model' is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup.
Wenn der Fehler "9003" in diesem Eintrag vorhanden ist, benennen Sie die Dateien model.mdf und modellog.ldf in diesem Ordner in old_model.mdf bzw . old_modellog.ldf um.
Öffnen Sie den Ordner "SQL-Vorlagen " unter "C:\Programme\Microsoft SQL Server\150\LocalDB\Binn\Templates".
Kopieren Sie die dateien model.mdf und modellog.ldf aus Schritt 2 in den ADSync2019-Instanzordner.
Starten Sie den ADSync-Dienst.
Lösung
Microsoft hat einen Fix für dieses Problem in Microsoft Entra Connect, Version 2.1.1.0, eingeführt. Wenn der Synchronisierungsdienst (ADSync) nicht gestartet werden kann, müssen Sie die Schritte im Abschnitt "Entschärfung " anwenden, bevor Sie Microsoft Entra Connect aktualisieren können.
Um die Beschädigungsprobleme in der SQLLocalDB-Datenbank Model
zu verhindern, installieren Sie den neuesten Microsoft Entra Connect-Build, der unter Microsoft Entra Connect: Versionsverlauf verfügbar ist.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.