Partager via


Échec de la mise à niveau de SQL Server et retourne l’erreur 4860

Cet article vous aide à résoudre les erreurs 4860 qui se produisent lors de l’installation d’une mise à jour cumulative (CU) ou d’un service pack (SP) pour Microsoft SQL Server. L’erreur se produit lorsque des scripts de mise à niveau de base de données sont exécutés.

Symptômes

Lorsque vous installez une cu ou un fournisseur de services pour SQL Server, le programme d’installation signale 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 vérifiez le journal des erreurs SQL Server, vous remarquez des messages d’erreur comme suit :

Error: 4860, Severity: 16, State: 1.
Cannot bulk load. The file "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx"<Filename> does not exist.
Error: 912, Severity: 21, State: 2.
Script level upgrade for database 'master' failed because upgrade step 'msdb110_upgrade.sql' encountered error 4860, state 1, severity 16. 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

Cette erreur se produit si une opération de chargement en bloc échoue lorsque vous appliquez une cu ou un fournisseur de services. Cela se produit en raison de fichiers d’installation de prise en charge manquants. Pour plus d’informations sur les scripts de mise à niveau de base de données qui s’exécutent pendant l’installation de la mise à niveau de la mise à niveau de la mise à niveau, consultez Résoudre les problèmes de script de mise à niveau lors de l’application d’une mise à jour.

Par exemple, si le programme d’installation ne trouve pas SqlTraceCollect.dtsx, il signale une erreur semblable à l’entrée suivante :

Error: 4860, Severity: 16, State: 1.
Cannot bulk load. The file "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Install\SqlTraceCollect.dtsx"

Résolution

Pour résoudre l’erreur 4860, procédez comme suit :

  1. Démarrez SQL Server avec l’indicateur de trace (TF) 902. Pour plus d’informations, consultez Étapes de démarrage de SQL avec l’indicateur de trace 902.

  2. Réparez l’installation de SQL Server conformément à la procédure documentée dans La réparation d’une installation de SQL Server ayant échoué. Vous pouvez également copier le fichier manquant à partir d’un autre système qui a la même build que votre installation SQL Server et restaurer le fichier sur l’ordinateur sur lequel l’installation échoue.

  3. Supprimez TF 902 des paramètres de démarrage, puis redémarrez SQL Server. Une fois SQL Server démarré sans TF 902, le script de mise à niveau s’exécute à nouveau.

    • Si le script de mise à niveau se termine correctement, la mise à niveau du fournisseur de services ou de la cu est terminée. Vous pouvez vérifier le journal des erreurs SQL Server et le dossier de démarrage pour vérifier l’installation terminée.
    • Si le script de mise à niveau échoue à nouveau, vérifiez le journal des erreurs SQL Server pour obtenir des entrées d’erreur supplémentaires, puis résolvez les nouvelles erreurs.