MSSQLSERVER_3168

S’applique à :SQL Server

Détails

Attribut Valeur
Nom du produit SQL Server
ID de l’événement 3168
Source de l’événement MSSQLSERVER
Composant SQLEngine
Nom symbolique LDDB_SYSTEMWRONGVER
Texte du message Impossible de restaurer la sauvegarde de la base de données système de l'unité %ls car elle a été créée par une autre version de serveur (%ls) que celle-ci (%ls).

Explication

Vous ne pouvez pas restaurer une sauvegarde d’une base de données système (master, modèle ou msdb) sur une build de serveur qui diffère de la build sur laquelle la sauvegarde a été créée à l’origine.

Notes

L’installation d’une mise à jour de maintenance comme la mise à jour cumulative, le Service Pack ou une GDR modifie le numéro de build du serveur. Les builds de serveur sont toujours incrémentielles.

Causes possibles

Le schéma de base de données pour les bases de données système peut être modifié d’une génération de serveur à l’autre. Pour vous assurer qu’une modification de schéma n’entraîne pas d’incohérences, l’instruction RESTORE compare le numéro de build du serveur du fichier de sauvegarde au numéro de build du serveur sur lequel vous essayez de restaurer la sauvegarde. Si les builds sont différentes, l’instruction émet un message d’erreur « 3168 » et l’opération de restauration se termine anormalement.

Voici quelques scénarios dans lesquels ce problème peut se produire :

  • Vous essayez de restaurer une base de données système sur le serveur A à partir d’une sauvegarde effectuée sur le serveur B. Les serveurs A et B se trouvent sur des builds de serveur différentes. Par exemple, le serveur A peut se situer sur la version d'origine et le serveur B sur une version de Service Pack 1 (SP1).

  • Vous essayez de restaurer une base de données système à partir d’une sauvegarde effectuée sur le même serveur. Toutefois, le serveur exécutait une build différente lors de l’exécution du processus de sauvegarde. Autrement dit, le serveur a été mis à niveau depuis la création de la sauvegarde.

Action requise

Pour résoudre ce problème, effectuez les étapes suivantes :

Notes

Pour les procédures suivantes, le serveur A est le serveur source SQL Server sur lequel la sauvegarde est effectuée, et le serveur B est le serveur SQL Server de destination sur lequel vous essayez de restaurer votre sauvegarde :

  1. Déterminez la version du serveur B (version B) à l’aide de la requête suivante :

    SELECT @@VERSION

  2. Exécutez une requête qui ressemble à ce qui suit pour déterminer la version de SQL Server qui s’exécutait lorsque la sauvegarde source a été effectuée (version A) :

    RESTORE headeronly FROM disk = 'c:\sqlbackups\masterdb.bak'

  3. Passez en revue les valeurs des SoftwareVersionMajorcolonnes , SoftwareVersionMinoret SoftwareVersionBuild pour déterminer la build du serveur source utilisé lors de la sauvegarde. Par exemple, supposons que les valeurs sont les suivantes :

    • SoftwareVersionMajor : 15
    • SoftwareVersionMinor : 0
    • SoftwareVersionBuild : 4236 Dans ce cas, la source SQL Server version lors de la sauvegarde est 15.0.4236.
  4. Utilisez les tables de liste de versions complètes SQL Server ou la feuille de calcul des builds Excel pour déterminer la version de SQL Server à laquelle la build correspond. Par exemple, 15.0.4236 est mappé à SQL Server 2019 CU16+GDR (version A).

  5. Utilisez l’une des options suivantes :

    • Si la version A est supérieure à la version B, utilisez les informations figurant dans Les dernières mises à jour et l’historique des versions pour SQL Server mettre à niveau le serveur B vers la même build que la version A.

    • Si la version A est inférieure à la version B, supprimez temporairement les mises à jour ultérieures en procédant comme suit :

      1. Dans Panneau de configuration, sélectionnez Programmes > et fonctionnalités, puis Afficher les mises à jour installées.

      2. Recherchez l’entrée qui correspond à chacun des packages de mise à jour ultérieurs correspondant à la version B.

      3. Appuyez longuement (ou cliquez avec le bouton droit) sur l’entrée, puis sélectionnez Désinstaller.

    • Après avoir vérifié que la version B est identique à la version A, réessayez l’opération de restauration de master base de données sur le serveur B.

  6. (Recommandé) Mettez à jour le serveur B vers la dernière version disponible, puis effectuez une nouvelle sauvegarde de vos bases de données système.

Voir aussi

Limitations relatives à la restauration des bases de données système (SQL Server)

Restaurer la base de données master (Transact-SQL)

Le moyen le plus simple de reconstruire la base de données master