Compartir a través de


MSSQLSERVER_3859

Se aplica a: SQL Server

Detalles

Attribute Valor
Nombre del producto SQL Server
Id. de evento 3859
Origen de eventos MSSQLSERVER
Componente SQLEngine
Nombre simbólico DBCC_CHECKCAT_DIRECT_UPDATE
Texto del mensaje Advertencia: El catálogo del sistema se actualizó directamente en el id. de base de datos %d, más recientemente en %S_DATE

Explicación

Este error indica que un usuario ha iniciado cambios en las tablas del sistema. No se admite la actualización manual de las tablas del sistema. El motor de base de datos de SQL Server solo debe actualizar las tablas del sistema. Cuando SQL Server detecta los cambios iniciados por el usuario en las tablas del sistema, se genera el error 3859 en los dos escenarios siguientes:

  • Escenario 1

    Un evento similar al siguiente se registra en el registro de errores de SQL Server o en el registro de aplicaciones en Visor de eventos cuando se inicia una base de datos de SQL Server que contiene una tabla del sistema que se actualizó manualmente:

    Nombre de registro: Application
    Origen: IDENTIFICADOR de evento MSSQLSERVER: 3859
    Categoría de la tarea: Server
    Nivel: Información
    Descripción: Advertencia: el catálogo del sistema se actualizó directamente en el id. de base de datos %d, más recientemente en date_time

  • Escenario 2

    Se devuelve el siguiente mensaje de advertencia cuando se ejecuta el comando DBCC_CHECKDB después de actualizar manualmente una tabla del sistema:

    Resultados de DBCC para "database_name".
    Mensaje 8992, nivel 16, estado 1, línea 1
    Comprobar la msg del catálogo 3859, estado 1: Advertencia: El catálogo del sistema se actualizó directamente en el id. de base de datos %d, más recientemente en date_time.
    CHECKDB detectó 0 errores de asignación y 0 errores de coherencia en la base de datos "db_name".
    Ejecución de DBCC completada. Si DBCC imprime algún mensaje de error, póngase en contacto con el administrador del sistema.

Acción del usuario

Para solucionar este problema, use uno de los siguientes métodos:

  • Método 1

    Si tiene una copia de seguridad limpia de la base de datos, restaure la base de datos a partir de esta.

    Nota:

    Este método solo funciona si la copia de seguridad no tiene incoherencias en los metadatos.

  • Método 2

    Si no puede restaurar la base de datos a partir de una copia de seguridad, exporte los datos y los objetos a una nueva base de datos. Después, transfiera el contenido de la base de datos actualizada manualmente a la nueva base de datos. Tenga en cuenta que no se pueden reparar las incoherencias en los catálogos del sistema mediante las opciones REPAIR de los comandos DBCC CHECKDB. Por lo tanto, dado que el comando no puede reparar los daños en los metadatos, no proporciona ningún nivel de reparación recomendado.

    Nota:

    Puede ver los datos de las tablas del sistema mediante las vistas de catálogo del sistema.

Información adicional

Para obtener más información, consulte: Tablas base del sistema.