Resolución de daños en la base de datos 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.x servidores que se ejecutan en una instancia de LocalDB 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 SQL Server Model
base de datos. Una vez que se realiza una copia de seguridad, la Model
base de datos se establece en FULL
modo de recuperación (dbi_status
== 0x40010000) y dbi_dbbackupLSN
(el número de secuencia de registro (LSN) de la copia de seguridad de 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 se truncan solo 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 que es anterior al archivo de registro más antiguo. Por lo tanto, no iniciará el servicio.
Revise las instrucciones de las secciones siguientes para obtener información sobre cómo 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.Para mitigar el problema, recupere la
Model
base de datos de un estado dañado.Aplique una corrección permanente para asegurarse de que esta
Model
base de datos no vuelva a producirse daños.
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
Archivo de error.log SQLLocalDB en la <ruta de acceso> del perfil de servicio de 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 esté ejecutando (como 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 la instancia de ADSync2019 en la ruta de acceso del directorio siguiente:
<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 existe el error "9003" 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 de la sección Mitigación para poder actualizar Microsoft Entra Connect.
Para evitar los problemas de daños en la base de datos SQLLocalDBModel
, instale la compilación de Microsoft Entra Connect más reciente, que está disponible en Microsoft Entra Connect: Historial de versiones.
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.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de