Delen via


Beschadiging van modeldatabases in SQLLocalDB oplossen

In dit artikel wordt een bekend probleem beschreven in het SQLLocalDB-hulpprogramma dat kan voorkomen dat de ADSync-service wordt gestart vanwege een beschadigde Model database. Dit probleem is voornamelijk 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 back-uplogica van SQL Server die een inconsistente status maakt op de startpagina van de SQL Server-database Model . Nadat een back-up is gemaakt, wordt de database ingesteld op de Model herstelmodus (dbi_status== 0x40010000) en wordt het dbi_dbbackupLSN (het logboekreeksnummer (LSN) voor de databaseback-up ingesteld op een waarde die verwijst naar een logboekbestandFULL. De werkelijke herstelmodus die onder de Master database valt, is SIMPLEechter .

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

Raadpleeg 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 van een beschadigde status.

  • Pas een permanente oplossing toe om ervoor te zorgen dat deze Model database beschadigd raakt.

Symptomen

U kunt controleren of het probleem is gebaseerd op de volgende gebeurtenissen op 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.
    

Oplossing

Belangrijk

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

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

  • Microsoft Entra Connect is 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, een virtueel serviceaccount of een beheerd serviceaccount):

    • C:\Users\<service account>\
    • 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 beschadigd is:

    <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 de fout 9003 in deze vermelding bestaat, wijzigt u de naam van de bestanden model.mdf en modellog.ldf in deze map 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.

Installeer de nieuwste Versiegeschiedenis van Microsoft Entra Connect om beschadigingsproblemen in de SQLLocalDB-database Model te voorkomen. Deze is beschikbaar op Microsoft Entra Connect.

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 Azure-feedbackcommunity.