Beheben einer Beschädigung der Modelldatenbank 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 Startseite der SQL Server Model Datenbank erzeugt. Nachdem eine Sicherung durchgeführt wurde, wird die Datenbank auf FULL den Model Wiederherstellungsmodus (dbi_status == 0x40010000) und die dbi_dbbackupLSN (protokollfolgennummer (LSN) für die Datenbanksicherung) auf einen Wert festgelegt, der auf eine Protokolldatei verweist. Der tatsächliche Wiederherstellungsmodus, der von der Master Datenbank gesteuert wird, ist SIMPLEjedoch .

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, wird eine Sicherungs-LSN erkannt, die 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 eine permanente Korrektur an, um sicherzustellen, dass diese Model Datenbankbeschädigung nicht erneut auftritt.

Problembeschreibung

Sie können überprüfen, ob das Problem auf den folgenden Ereignissen im Microsoft Entra Connect-Server basiert:

  • Ereignisanzeige: Anwendung, EventID 528, Quelle: SQLLocalDB 15.0

    WaitForMultipleObjects
    575
    {Application Error}
    The application was unable to start correctly (0x%lx). Click OK to close the application.
    3714
    
  • Ereignisanzeige: Anwendung, EventIDs 2005 und 6226, Quelle: 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.
    

Risikominderung

Wichtig

Wenden Sie die hier beschriebenen Schritte zur Entschärfung nur 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 unter Symptome aufgeführt sind, sind vorhanden.

Führen Sie die folgenden Schritte aus, um die Model Datenbank aus einem beschädigten Zustand wiederherzustellen:

  1. Wechseln Sie je nach ausgeführtem Dienstkonto (z. B. Domänenkonto, virtuelles Dienstkonto oder verwaltetes Dienstkonto) zu einem der folgenden ADSync-Dienstprofilspeicherorte:

    • C:\Benutzer\<Dienstkonto>\
    • C:\Users\ADSyncMSAxxxx$\
    • C:\Windows\ServiceProfiles\ADSync\
  2. Öffnen Sie die error.log Datei aus dem Ordner ADSync2019 instance im folgenden Verzeichnispfad:

    <Dienstprofilpfad>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ADSync2019\

  3. 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.   
    
  4. Wenn in diesem Eintrag der Fehler "9003" vorhanden ist, benennen Sie die Dateien model.mdf und modellog.ldf in diesem Ordner in old_model.mdf bzw. old_modellog.ldf um.

  5. Öffnen Sie den Ordner SQL-Vorlagen unter C:\Programme\Microsoft SQL Server\150\LocalDB\Binn\Templates.

  6. Kopieren Sie die Dateien model.mdf und modellog.ldf in den Ordner ADSync2019 instance aus Schritt 2.

  7. Starten Sie den ADSync-Dienst.

Lösung

Microsoft hat eine Lösung 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 ausführen, bevor Sie Microsoft Entra Connect aktualisieren können.

Um Beschädigungsprobleme in der SQLLocalDB-Datenbank Model zu vermeiden, installieren Sie den neuesten Microsoft Entra Connect-Build, der unter Microsoft Entra Connect: Versionsveröffentlichungsverlauf 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.