Résoudre l’altération de la base de données model dans SQLLocalDB
Cet article décrit un problème connu dans l’utilitaire SQLLocalDB qui peut empêcher le service ADSync de démarrer en raison d’une base de données endommagée Model
. Ce problème affecte principalement Microsoft Entra Connect 2.x serveurs qui s’exécutent sur une base de données locale Microsoft SQL Server 2019.
Le problème est dû à un bogue dans la logique de sauvegarde SQL Server qui crée un état incohérent dans la page de démarrage de la base de données SQL ServerModel
. Après une sauvegarde, la base de données est définie sur FULL
le Model
mode de récupération (dbi_status
== 0x40010000) et le dbi_dbbackupLSN
(numéro séquentiel du journal (LSN) de la sauvegarde de base de données) est défini sur une valeur qui pointe vers un fichier journal. Toutefois, le mode de récupération réel qui est régi par la Master
base de données est SIMPLE
.
En SIMPLE
mode de récupération, les journaux de base de données sont tronqués automatiquement. En FULL
mode de récupération, les journaux sont tronqués uniquement après une sauvegarde. Lorsque SQLLocalDB est redémarré après la troncation du fichier journal, il détecte un LSN de sauvegarde antérieur au fichier journal le plus ancien. Par conséquent, il ne démarre pas le service.
Passez en revue les conseils des sections suivantes pour savoir comment effectuer les tâches suivantes :
Identifiez correctement si le service Microsoft Entra Connect (ADSync) ne démarre pas en raison d’une altération de la base de
Model
données.Limitez le problème en récupérant la
Model
base de données à partir d’un état endommagé.Appliquez un correctif permanent pour vous assurer que cette
Model
corruption de base de données ne se produit plus.
Symptômes
Vous pouvez vérifier que le problème est basé sur les événements suivants dans le serveur Microsoft Entra Connect :
observateur d'événements : 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
observateur d'événements : Application, EventIDs 2005 et 6226, Source : ADSync
0x8023044a OriginalError=0x80004005 OLEDB Provider error(s): Description = 'Login timeout expired' Failure Code = 0x80004005
Fichier de error.log SQLLocalDB dans <le chemin> du profil de service ADSync\AppData\Local\Microsoft\Microsoft SQL Server Base de données locale\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.
Limitation des risques
Importante
Appliquez uniquement les étapes d’atténuation décrites ici si toutes ces conditions se produisent :
La version de Microsoft Entra Connect est 2.0.x.x.
Microsoft Entra Connect est installé avec SQL LocalDB.
Toutes les conditions répertoriées dans Symptômes sont présentes.
Pour récupérer la Model
base de données à partir d’un état endommagé, procédez comme suit :
Accédez à l’un des emplacements de profil de service ADSync suivants, en fonction du compte de service en cours d’exécution (par exemple, un compte de domaine, un compte de service virtuel ou un compte de service managé) :
- C :\Users\<service account>\
- C :\Users\ADSyncMSAxxxx$\
- C :\Windows\ServiceProfiles\ADSync\
Ouvrez le fichier error.log à partir du dossier instance ADSync2019 dans le chemin d’accès au répertoire suivant :
<chemin> du profil de service\AppData\Local\Microsoft\Microsoft SQL Server Base de données locale\Instances\ADSync2019\
Recherchez l’entrée d’erreur suivante dans le journal pour vérifier que la
Model
base de données est endommagée :<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.
Si l’erreur « 9003 » existe dans cette entrée, renommez les fichiers model.mdf et modellog.ldf de ce dossier en old_model.mdf et old_modellog.ldf, respectivement.
Ouvrez le dossier Modèles SQL à l’adresse C :\Program Files\Microsoft SQL Server\150\LocalDB\Binn\Templates.
Copiez les fichiers model.mdf et modellog.ldf dans le dossier instance ADSync2019 de l’étape 2.
Démarrez le service ADSync.
Solution
Microsoft a introduit un correctif pour ce problème dans Microsoft Entra Connect version 2.1.1.0. Si le service de synchronisation (ADSync) ne peut pas être démarré, vous devez appliquer les étapes de la section Atténuation avant de pouvoir mettre à niveau Microsoft Entra Connect.
Pour éviter les problèmes d’endommagement dans la base de données SQLLocalDBModel
, installez la dernière build Microsoft Entra Connect, disponible dans Microsoft Entra Connect : Historique des versions.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour