Modeldatabasebeschadiging in SQLLocalDB oplossen

In dit artikel wordt een bekend probleem in het hulpprogramma SQLLocalDB beschreven dat kan voorkomen dat de ADSync-service wordt gestart vanwege een beschadigde Model database. Dit probleem is vooral van invloed op Microsoft Entra Connect 2.x-servers die worden uitgevoerd op een Microsoft SQL Server 2019 LocalDB.

Het probleem wordt veroorzaakt door een fout in de SQL Server back-uplogica die een inconsistente status veroorzaakt op de startpagina van de SQL Server Model database. Nadat een back-up is gemaakt, wordt de Model database ingesteld op FULL de herstelmodus (dbi_status == 0x40010000) en wordt de dbi_dbbackupLSN (het logboekreeksnummer (LSN) voor de databaseback-up ingesteld op een waarde die verwijst naar een logboekbestand. De werkelijke herstelmodus die wordt beheerd door de Master database is SIMPLEechter .

In SIMPLE de herstelmodus worden databaselogboeken automatisch afgekapt. In FULL de herstelmodus worden logboeken pas na een back-up afgekapt. Wanneer SQLLocalDB opnieuw wordt gestart nadat het logboekbestand is afgekapt, wordt een back-up-LSN gedetecteerd die ouder is dan het vroegste logboekbestand. Daarom wordt de service niet gestart.

Bekijk de richtlijnen in de volgende secties voor meer informatie over het uitvoeren van de volgende taken:

  • Identificeer correct of de Microsoft Entra Connect-service (ADSync) niet wordt gestart vanwege beschadiging van Model de database.

  • Los het probleem op door de Model database te herstellen vanuit een beschadigde status.

  • Pas een permanente oplossing toe om ervoor te zorgen dat deze Model databasebeschadiging niet opnieuw optreedt.

Symptomen

U kunt controleren of het probleem is gebaseerd op de volgende gebeurtenissen in de Microsoft Entra Connect-server:

  • Logboeken: Toepassing, EventID 528, Bron: SQLLocalDB 15.0

    WaitForMultipleObjects
    575
    {Application Error}
    The application was unable to start correctly (0x%lx). Click OK to close the application.
    3714
    
  • Logboeken: Toepassing, EventIDs 2005 en 6226, Bron: ADSync

    0x8023044a
    OriginalError=0x80004005 OLEDB Provider error(s):
    Description  = 'Login timeout expired'
    Failure Code = 0x80004005 
    
  • SQLLocalDB error.log bestand in <adSync-serviceprofielpad>\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.
    

Risicobeperking

Belangrijk

Pas de risicobeperkingsstappen die hier worden beschreven alleen toe als al deze voorwaarden zich voordoen:

  • De versie van Microsoft Entra Connect is 2.0.x.x.

  • Microsoft Entra Connect wordt geïnstalleerd met SQL LocalDB.

  • Alle voorwaarden die worden vermeld in Symptomen zijn aanwezig.

Voer de volgende stappen uit om de Model database te herstellen van een beschadigde status:

  1. Ga naar een van de volgende adSync-serviceprofiellocaties, afhankelijk van het serviceaccount dat wordt uitgevoerd (zoals een domeinaccount, virtueel serviceaccount of beheerd serviceaccount):

    • C:\Gebruikers\<serviceaccount>\
    • C:\Users\ADSyncMSAxxxx$\
    • C:\Windows\ServiceProfiles\ADSync\
  2. Open het error.log-bestand vanuit de map ADSync2019-exemplaar in het volgende mappad:

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

  3. Zoek de volgende foutvermelding in het logboek om te controleren of de Model database is beschadigd:

    <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. Als fout 9003 in deze vermelding voorkomt, wijzigt u de naam van de bestanden model.mdf en modellog.ldf in respectievelijk old_model.mdf en old_modellog.ldf.

  5. Open de map SQL-sjablonen op C:\Program Files\Microsoft SQL Server\150\LocalDB\Binn\Templates.

  6. Kopieer de model.mdf - en modellog.ldf-bestanden naar de map ADSync2019-exemplaar uit stap 2.

  7. Start de ADSync-service.

Oplossing

Microsoft heeft een oplossing voor dit probleem geïntroduceerd in Microsoft Entra Connect versie 2.1.1.0. Als de synchronisatieservice (ADSync) niet kan worden gestart, moet u de stappen in de sectie Risicobeperking toepassen voordat u Microsoft Entra Connect kunt upgraden.

Als u beschadigingsproblemen in de SQLLocalDB-database Model wilt voorkomen, installeert u de meest recente Microsoft Entra Connect-build, die beschikbaar is op Microsoft Entra Connect: Versiegeschiedenis.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Feedback-community van Azure.