Resolución de daños en la base de datos del modelo en SQLLocalDB
En este artículo se describe un problema conocido en la utilidad SQLLocalDB que puede impedir que el servicio ADSync se inicie debido a una base de datos dañada Model
. Este problema afecta principalmente a Microsoft Entra Connect 2.Servidores x que se ejecutan en una base de datos local de Microsoft SQL Server 2019.
El problema se debe a un error en la lógica de copia de seguridad de SQL Server que crea un estado incoherente en la página de inicio de la base de datos de SQL Server Model
. Una vez que se produce una copia de seguridad, la Model
base de datos se establece FULL
en modo de recuperación (dbi_status
== 0x40010000) y dbi_dbbackupLSN
(el número de secuencia de registro (LSN) de la copia de seguridad de la base de datos) se establece en un valor que apunta a un archivo de registro. Sin embargo, el modo de recuperación real que se rige por la Master
base de datos es SIMPLE
.
En SIMPLE
el modo de recuperación, los registros de base de datos se truncan automáticamente. En FULL
el modo de recuperación, los registros solo se truncan después de una copia de seguridad. Cuando SQLLocalDB se reinicia después de truncar el archivo de registro, detecta un LSN de copia de seguridad anterior al archivo de registro más antiguo. Por lo tanto, no iniciará el servicio.
Revise las instrucciones de las secciones siguientes para aprender a realizar las siguientes tareas:
Identifique correctamente si el servicio Microsoft Entra Connect (ADSync) no se inicia debido a daños en la base de
Model
datos.Mitigue el problema recuperando la
Model
base de datos de un estado dañado.Aplique una corrección permanente para asegurarse de que esta
Model
base de datos dañada no se vuelva a producir.
Síntomas
Puede comprobar que el problema se basa en los siguientes eventos en el servidor de Microsoft Entra Connect:
Visor de eventos: 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
Visor de eventos: Application, EventIDs 2005 y 6226, Source: ADSync
0x8023044a OriginalError=0x80004005 OLEDB Provider error(s): Description = 'Login timeout expired' Failure Code = 0x80004005
SqlLocalDB error.log archivo en< la ruta> de acceso del perfil del servicio ADSync\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.
Mitigación
Importante
Aplique solo los pasos de mitigación que se describen aquí si se producen todas estas condiciones:
La versión de Microsoft Entra Connect es la 2.0.x.x.
Microsoft Entra Connect se instala con SQL LocalDB.
Todas las condiciones que aparecen en Síntomas están presentes.
Para recuperar la Model
base de datos de un estado dañado, siga estos pasos:
Vaya a una de las siguientes ubicaciones de perfil de servicio de ADSync, en función de la cuenta de servicio que se ejecuta (por ejemplo, una cuenta de dominio, una cuenta de servicio virtual o una cuenta de servicio administrada):
- C:\Users\<service account>\
- C:\Users\ADSyncMSAxxxx$\
- C:\Windows\ServiceProfiles\ADSync\
Abra el archivo error.log desde la carpeta de instancia de ADSync2019 en la siguiente ruta de acceso del directorio:
<ruta de acceso del perfil> de servicio\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ADSync2019\
Busque la siguiente entrada de error en el registro para comprobar que la
Model
base de datos está dañada:<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 el error "9003" existe en esta entrada, cambie el nombre de los archivos model.mdf y modellog.ldf de esta carpeta a old_model.mdf y old_modellog.ldf, respectivamente.
Abra la carpeta Plantillas SQL en C:\Archivos de programa\Microsoft SQL Server\150\LocalDB\Binn\Templates.
Copie los archivos model.mdf y modellog.ldf en la carpeta de instancia de ADSync2019 del paso 2.
Inicie el servicio ADSync.
Solución
Microsoft ha introducido una corrección para este problema en Microsoft Entra Connect versión 2.1.1.0. Si no se puede iniciar el servicio de sincronización (ADSync), debe aplicar los pasos descritos en la sección Mitigación para poder actualizar Microsoft Entra Connect.
Para evitar los problemas de daños en la base de datos SQLLocalDB Model
, instale la compilación más reciente de Microsoft Entra Connect, que está disponible en el historial de versiones de Microsoft Entra Connect.
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.