MSSQLSERVER_3859

S’applique à :SQL Server

Détails

Attribut Valeur
Nom du produit SQL Server
ID de l’événement 3859
Source de l’événement MSSQLSERVER
Composant SQLEngine
Nom symbolique DBCC_CHECKCAT_DIRECT_UPDATE
Texte du message Avertissement : Le catalogue système a été mis à jour directement dans l’ID de base de données %d, plus récemment à %S_DATE

Explication

Cette erreur indique qu’un utilisateur a apporté des modifications dans les tables système. La mise à jour manuelle des tables système n’est pas prise en charge. Les tables système doivent être mises à jour par le moteur de base de données uniquement SQL Server. Lorsque SQL Server détecte des modifications initiées par l’utilisateur dans les tables système, l’erreur 3859 est générée dans les deux scénarios suivants :

  • Scénario 1

    Un événement semblable à ce qui suit est enregistré dans le journal des erreurs SQL Server ou dans le journal des applications dans observateur d'événements lorsque vous démarrez une base de données SQL Server qui contient une table système qui a été mise à jour manuellement :

    Nom du journal : Application
    Source : ID d’événement MSSQLSERVER : 3859
    Catégorie de la tâche : Serveur
    Niveau : Information
    Description : Avertissement : Le catalogue système a été mis à jour directement dans l’ID de base de données %d, dernièrement à date_time

  • Scénario 2

    Le message d’avertissement suivant est retourné lorsque vous exécutez la commande DBCC_CHECKDB après la mise à jour manuelle d’une table système :

    Résultats DBCC pour « nom_base_de_données ».
    Msg 8992, Niveau 16, État 1, Ligne 1
    Vérifiez le message de catalogue 3859, État 1 : Avertissement : Le catalogue système a été mis à jour directement dans l’ID de base de données %d, dernièrement à date_time.
    CHECKDB a trouvé 0 erreur d’allocation et 0 erreur de cohérence dans la base de données « nom_base_de_données ».
    Exécution de DBCC terminée. Si DBCC a affiché des messages d'erreur, contactez l'administrateur système.

Action requise

Pour résoudre ce problème, utilisez l’une des méthodes suivantes.

  • Méthode 1

    Si vous disposez d’une sauvegarde saine de la base de données, restaurez la base de données à partir de cette sauvegarde.

    Notes

    Cette méthode fonctionne uniquement s’il n’y a pas d’incohérences dans les métadonnées de la sauvegarde.

  • Méthode 2

    Si vous ne pouvez pas restaurer la base de données à partir d’une sauvegarde, exportez les données et les objets vers une nouvelle base de données. Ensuite, transférez le contenu de la base de données mise à jour manuellement dans la nouvelle base de données. Remarque : Vous ne pouvez pas corriger les incohérences présentes dans les catalogues système à l’aide des options REPAIR des commandes DBCC CHECKDB. Par conséquent, étant donné qu’elle ne peut pas réparer les métadonnées endommagées, la commande ne fournit aucune recommandation concernant le niveau de réparation.

    Notes

    Vous pouvez afficher les données des tables système à l’aide des vues du catalogue système.

Informations complémentaires

Pour plus d’informations, consultez : Tables de base système.