Partager via


La mise à niveau de SQL Server é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 et à résoudre un problème où une mise à jour cumulative (CU) ou 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 une cu ou un fournisseur de services, le programme d’installation peut signaler l’erreur suivante :

Échec de l’attente du handle de récupération du moteur de base de données. Pour connaître les causes potentielles, consultez le journal des erreurs de 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éterminer le répertoire d’un fichier. SQL Server signale l’erreur 598 lorsqu’il rencontre une erreur lors de l’exécution d’instructions CREATE DATABASE ou ALTER DATABASE .

Note

À partir de Moteur de base de données événements et erreurs, 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, ce qui se produit, car le script de mise à niveau ne peut pas 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 différentes opérations qu’elle 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 lors de 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 d’accès aux données est configurée avec une valeur valide et correcte dans SQL Server.

    • À partir de Gestionnaire de configuration SQL Server :

      1. Ouvrez le Gestionnaire de configuration SQL Server, puis sélectionnez SQL Server Services.

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

      3. Sélectionnez l’onglet Avancé et vérifiez que la valeur du chemin d’accès aux données est correcte et n’a pas de fautes de frappe ni de caractères supplémentaires. (Pour valider la valeur, vous pouvez la copier et essayer de l’accéder avec l’Explorateur Windows.)

    • À partir de l’éditeur de Registre Windows :

      1. Dans la zone de recherche de la barre des tâches, tapez regedit pour ouvrir l’Éditeur du Registre.

      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 n’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 d’accès aux 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. Passez en revue et modifiez la valeur du chemin d’accès aux 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 l’instance SQL Server.

    Une fois l’instance SQL Server démarrée, le script de mise à niveau sera réexécuté.

    • Si le script de mise à niveau du fournisseur de services ou cu s’exécute correctement, vous pouvez vérifier le journal des erreurs SQL Server et le dossier de démarrage pour vérifier.
    • Si le script de mise à niveau échoue à nouveau, vérifiez le journal des erreurs SQL Server pour d’autres erreurs et résolvez les nouvelles erreurs.