Compartir a través de


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:

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

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

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