Lösa skadade modelldatabaser i SQLLocalDB
Den här artikeln beskriver ett känt problem i SQLLocalDB-verktyget som kan hindra ADSync-tjänsten från att starta på grund av en skadad Model
databas. Det här problemet påverkar främst Microsoft Entra Connect 2.x servrar som körs på en Microsoft SQL Server 2019 LocalDB.
Problemet orsakas av en bugg i SQL Server-säkerhetskopieringslogik som skapar ett inkonsekvent tillstånd på startsidan för SQL Server-databasen Model
. När en säkerhetskopia har inträffat Model
är databasen inställd på FULL
återställningsläge (dbi_status
== 0x40010000) och dbi_dbbackupLSN
(loggsekvensnumret (LSN) för databassäkerhetskopian) är inställt på ett värde som pekar på en loggfil. Det faktiska återställningsläget som styrs av Master
databasen är SIMPLE
dock .
I SIMPLE
återställningsläge trunkeras databasloggarna automatiskt. I FULL
återställningsläge trunkeras loggarna endast efter en säkerhetskopia. När SQLLocalDB startas om efter att loggfilen trunkerats identifieras ett säkerhetskopierat LSN som är tidigare än den tidigaste loggfilen. Därför startar den inte tjänsten.
Läs vägledningen i nästa avsnitt för att lära dig hur du utför följande uppgifter:
Identifiera korrekt om Microsoft Entra Connect-tjänsten (ADSync) inte startar på grund av
Model
att databasen är skadad.Åtgärda problemet genom att
Model
återställa databasen från ett skadat tillstånd.Använd en permanent korrigering för att se till att den här
Model
databasskadan inte inträffar igen.
Symptom
Du kan kontrollera att problemet baseras på följande händelser på Microsoft Entra Connect-servern:
Loggboken: Application, EventID 528, Källa: SQLLocalDB 15.0
WaitForMultipleObjects 575 {Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application. 3714
Loggboken: Application, EventIDs 2005 och 6226, Källa: ADSync
0x8023044a OriginalError=0x80004005 OLEDB Provider error(s): Description = 'Login timeout expired' Failure Code = 0x80004005
SQLLocalDB error.log fil i <ADSync-tjänstprofilsökvägen>\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.
Riskreducering
Viktigt!
Använd endast de åtgärdssteg som beskrivs här om alla dessa villkor inträffar:
Versionen av Microsoft Entra Connect är 2.0.x.x.
Microsoft Entra Connect är installerat med SQL LocalDB.
Alla villkor som anges i Symptom finns.
Följ dessa steg för att återställa Model
databasen från ett skadat tillstånd:
Gå till någon av följande ADSync-tjänstprofilplatser, beroende på vilket tjänstkonto som körs (till exempel ett domänkonto, ett virtuellt tjänstkonto eller ett hanterat tjänstkonto):
- C:\Users\<service account>\
- C:\Users\ADSyncMSAxxxx$\
- C:\Windows\ServiceProfiles\ADSync\
Öppna error.log-filen från instansmappen ADSync2019 i följande katalogsökväg:
<sökväg till> tjänstprofil\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ADSync2019\
Hitta följande felpost i loggen för att kontrollera att
Model
databasen är skadad:<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.
Om felet "9003" finns i den här posten byter du namn på filerna model.mdf och modellog.ldf i den här mappen till old_model.mdf respektive old_modellog.ldf.
Öppna mappen SQL Templates på C:\Program Files\Microsoft SQL Server\150\LocalDB\Binn\Templates.
Kopiera filerna model.mdf och modellog.ldf till instansmappen ADSync2019 från steg 2.
Starta ADSync-tjänsten.
Lösning
Microsoft har infört en korrigering för det här problemet i Microsoft Entra Connect version 2.1.1.0. Om synkroniseringstjänsten (ADSync) inte kan startas måste du följa stegen i avsnittet Åtgärd innan du kan uppgradera Microsoft Entra Connect.
Om du vill förhindra skadade problem i SQLLocalDB-databasen Model
installerar du den senaste Versionen av Microsoft Entra Connect, som är tillgänglig i Microsoft Entra Connect: Versionshistorik.
Kontakta oss för att få hjälp
Om du har frågor eller behöver hjälp skapar du en supportförfrågan eller frågar Azure community support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.