Partager via


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, le 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 ne doivent être mises à jour que par le moteur de base de données SQL Server. Lorsque SQL Server détecte les modifications initiées par l’utilisateur dans les tables système, l’erreur 3859 est déclenchée dans les deux scénarios suivants :

  • Scénario 1

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

    Log Name: 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, récemment à 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 msg 3859 du catalogue, État 1 : Avertissement : le catalogue système a été mis à jour directement dans l’ID de base de données %d, récemment à 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 utilisateur

Pour résoudre ce problème, appliquez 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.

    Remarque

    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.

    Remarque

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

Plus d’informations

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