Partager via


SQL Server mise à niveau échoue avec l’erreur 5133 lors de l’exécution de scripts de base de données de mise à jour

Cet article vous aide à résoudre un problème dans lequel une mise à jour cumulative (CU) ou un Service Pack (SP) pour SQL Server signale l’erreur 5133 lors de l’exécution de scripts de mise à niveau de base de données.

Symptômes

Lorsque vous appliquez un cu ou un fournisseur de services, le programme d’installation peut signaler l’erreur suivante :

Attendez que le handle de récupération du moteur de base de données ait échoué. Vérifiez les causes potentielles dans le journal des erreurs SQL Server.

Lorsque vous passez en revue le journal des erreurs SQL Server, vous pouvez remarquer les messages d’erreur suivants :

Error: 5133, Severity: 16, State: 1
Directory lookup for the file "<path>\MSSQL10.<Instancename>\MSSQL\Data\temp_MS_AgentSigningCertificate_database.mdf" failed with the operating system error 3(The system cannot find the path specified.).
Error: 1802, Severity: 16, State: 1.
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
Error: 912, Severity: 21, State: 2.
Script level upgrade for database 'master' failed because upgrade step 'sqlagent100_msdb_upgrade.sql' encountered error 598, state 1, severity 25.
This is a serious error condition which might interfere with regular operation and the database will be taken offline.
If the error happened during upgrade of the 'master' database, it will prevent the entire SQL Server instance from starting.
Examine the previous errorlog entries for errors, take the appropriate corrective actions and re-start the database so that the script upgrade steps run to completion.
Error: 3417, Severity: 21, State: 3.
Cannot recover the master database. SQL Server is unable to run. Restore master from a full backup, repair it, or rebuild it. For more information about how to rebuild the master database, see SQL Server Books Online.

Cause

SQL Server signale l’erreur 5133 lorsqu’il rencontre une erreur de système d’exploitation lors de la tentative de détermination du répertoire d’un fichier. SQL Server signale l’erreur 598 lorsqu’il rencontre une erreur lors de l’exécution des instructions CREATE DATABASE ou ALTER DATABASE.

Remarque

Dans événements et erreurs du moteur de base de données, vous pouvez voir Error 598: An error occurred while executing CREATE/ALTER DB. Please look at the previous error for more information.
Les entrées antérieures à l’erreur 598 peuvent fournir plus d’informations sur la cause de l’échec. Par exemple, dans cet article, l’erreur précédente est 1802, qui se produit parce que le script de mise à niveau n’est pas en mesure de créer une base de données temporaire dans le chemin de données par défaut. La base de données temporaire est utilisée par le programme d’installation pour diverses opérations qu’il exécute pendant le processus de mise à jour. Pour plus d’informations sur les scripts de mise à niveau de base de données qui sont exécutés pendant l’installation de CU ou de SP, consultez Résolution des échecs de script de mise à niveau lors de l’application d’une mise à jour.

Résolution

  1. Vérifiez que la propriété Chemin des données est configurée avec une valeur valide et correcte dans SQL Server.

    • À partir de Gestionnaire de configuration SQL Server :

      1. Ouvrez Gestionnaire de configuration SQL Server et sélectionnez SQL Server Services.

      2. Cliquez avec le bouton droit sur le SQL Server instance, puis sélectionnez Propriétés.

      3. Sélectionnez l’onglet Avancé et vérifiez que la valeur de Chemin des données est correcte et qu’elle n’a pas de fautes de frappe ou de caractères supplémentaires. (Pour valider la valeur, vous pouvez la copier et essayer d’y accéder avec Windows Explorer.)

    • À partir de la Rédacteur du Registre Windows :

      1. Dans la zone De recherche de la barre des tâches, tapez regedit pour ouvrir le Registre Rédacteur.

      2. Accédez à la clé de Registre pour le chemin d’accès aux données par défaut. Ensuite, vérifiez que le chemin d’accès est correct et qu’il n’y a pas d’espaces ou de caractères supplémentaires. La clé de Registre pour le chemin de données par défaut est HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<Instance Name>\Setup\SQLDataRoot.

        Si la clé de Registre a le chemin de données correct et que vous continuez à recevoir l’erreur, procédez comme suit :

        1. Accédez à la clé de Registre : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<Instance Name>\MSSQLServer\Parameters.

        2. Examinez et modifiez la valeur de Chemin des données pour qu’elle corresponde à la valeur dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<Instance Name>\Setup\SQLDataRoot.

  2. Redémarrez le SQL Server instance.

    Une fois le SQL Server instance démarré, le script de mise à niveau est réexécuté.

    • Si le script de mise à niveau sp ou CU se termine correctement, vous pouvez case activée le journal des erreurs SQL Server et le dossier bootstrap à vérifier.
    • Si le script de mise à niveau échoue à nouveau, case activée le journal des erreurs SQL Server pour d’autres erreurs et résoudre les nouvelles erreurs.