Compartir a través de


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:

  1. 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\
  2. 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\

  3. 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.   
    
  4. 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.

  5. Abra la carpeta Plantillas SQL en C:\Archivos de programa\Microsoft SQL Server\150\LocalDB\Binn\Templates.

  6. Copie los archivos model.mdf y modellog.ldf en la carpeta de instancia de ADSync2019 del paso 2.

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