La mise à jour d’instances SQL Server 2022 Express ou l’utilisation de LocalDB peut brutalement cesser de fonctionner : impossible de se connecter à (localdb)\MSSQLLocalDB
, l’installation de la mise à jour cumulative échoue avec les codes -2061893565
ou -2061893606
, et Windows Update retourne la redoutée erreur 0x80070643
. Cet article propose une méthodologie complète pour diagnostiquer et corriger définitivement la situation.
Problématique principale
- Perte de fonctionnalité LocalDB : connexion impossible à l’instance
(localdb)\MSSQLLocalDB
. - Échec des mises à jour : impossibilité d’installer le correctif de sécurité KB5035432 (SQL Server 2022) sur les instances
SQLEXPRESS
,SQLEXPRESS01
etMSSQLSERVER
. - Codes d’erreur rencontrés :
-2061893565
,-2061893606
(setup) et0x80070643
(Windows Update).
Symptômes et constats
Domaine | Symptômes / messages clés |
---|---|
Connexion LocalDB | « Unable to connect to target server ‘(localdb)\MSSQLLocalDB’ » |
Patch SQL Server | « The patch installer has failed to update the following instance… » |
Windows Update | Échec de KB5035432 avec 0x80070643 |
Journal d’installation | Instances détectées : trois Express + LocalDB (versions 16.0.1000.6 – 16.0.1115.1) |
Pourquoi ces erreurs apparaissent‑elles ?
Dans plus de 80 % des cas observés en entreprise, la source du problème est double :
- Résidus d’anciennes instances : un moteur Express ou LocalDB mal désinstallé laisse des clés de registre, des fichiers de données .mdf et des DLL verrouillées qui empêchent l’écrasement de la nouvelle version.
Indice : le dossierC:\Program Files\Microsoft SQL Server
contient plusieurs sous‑répertoires numérotés (150
,160
, etc.) bien qu’une seule édition soit attendue. - Magasin de composants corrompu : Windows Component Based Servicing (CBS) ne parvient plus à inscrire correctement les MSI/MSP du correctif, d’où l’erreur générique
0x80070643
lors de l’appel àmsiexec.exe
.
La combinaison de ces deux facteurs crée un cercle vicieux : tant que les reliquats Express bloquent le moteur, Windows Update retente en boucle et finit par saturer les logs CBS, ralentissant l’ensemble du poste.
Mesures déjà tentées
Vous avez probablement suivi un parcours proche de celui‑ci :
- Vérification d’intégrité système (
sfc /scannow
,chkdsk /f /r
) sans anomalie. - Réparations successives dans Programmes & fonctionnalités (LocalDB, OLE DB, ODBC, VSS Writer, CLR Types).
- Réinitialisation de Windows Update : purge de
SoftwareDistribution
etcatroot2
, ré‑enregistrement des DLL. - Désinstallation complète de SQL Server et de l’extension VS SQL Server Data Tools, puis réinstallation.
- Réparation de Visual Studio.
Malgré ces efforts, la connexion LocalDB reste inopérante et l’installation des Cumulative Updates échoue invariablement.
Plan d’action détaillé
La stratégie proposée ci‑dessous vise à repartir d’une base propre, tout en préservant les bases de données utilisateur. Chaque bloc peut être appliqué indépendamment ; cependant l’ordre recommandé garantit un taux de réussite maximal.
Nettoyer les instances LocalDB résiduelles
Étape | Commande ou action | Objectif |
---|---|---|
Lister les LocalDB | sqllocaldb i | Identifier les instances fantômes |
Supprimer proprement | sqllocaldb d "NomInstance" | Éliminer les LocalDB corrompues |
Arrêter les services SQL | Ouvrir services.msc et arrêter SQL Server (SQLEXPRESS), SQL Browser | Déverrouiller les fichiers avant suppression |
Si sqllocaldb d
renvoie « Instance in use », forcez l’arrêt :
sqllocaldb p "NomInstance"
sqllocaldb stop "NomInstance" -i
sqllocaldb delete "NomInstance"
Procéder à une désinstallation totale
- Désinstaller toutes les occurrences Microsoft SQL Server (Express, Developer, LocalDB) depuis Applications & fonctionnalités.
- Supprimer les dossiers résiduels :
C:\Program Files\Microsoft SQL Server\
C:\Program Files (x86)\Microsoft SQL Server\
C:\Program Files\Microsoft SQL Server Compact Edition\
(le cas échéant)
- Nettoyer le registre : après sauvegarde, effacer
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server
etHKLM\SOFTWARE\Microsoft\MSSQLServer
. - Redémarrer impérativement le poste.
Réinstaller une seule instance propre
Utilisez le média d’installation complet (ISO) de SQL Server 2022 contenant la dernière Cumulative Update (CU) disponible :
setup.exe /ACTION=Install ^
/SkipRules=RebootRequiredCheck ^
/FEATURES=SQLENGINE,LOCALDB ^
/INSTANCENAME=SQLEXPRESS ^
/TCPENABLED=1 ^
/SQLSVCACCOUNT="NT Authority\Network Service" ^
/SQLSYSADMINACCOUNTS="VotreCompteAD"
Le paramètre /SkipRules=RebootRequiredCheck
contourne la détection erronée d’un redémarrage en attente.
Réparer le magasin Windows Update (erreur 0x80070643)
Correctif | Finalité |
---|---|
DISM | DISM /Online /Cleanup-Image /RestoreHealth — répare l’image système |
VC++ 2015‑2022 Redist | Réinstaller le package (x64 et x86) ; les mises à jour SQL s’appuient sur ces DLL pour sqlservr.exe |
Ré‑inscrire WMI | winmgmt /salvagerepository puis winmgmt /resetrepository — corrige les classes utilisées par le setup |
Contrôles post‑installation
- Services :
SQLWriter
,SQLBrowser
etMSSQL$SQLEXPRESS
doivent démarrer sans Event ID 18456. - Pare‑feu : autoriser sqlservr.exe et sqlbrowser.exe (in et out).
- Test de connexion :
sqlcmd -S "(localdb)\MSSQLLocalDB" -E -Q "SELECT @@VERSION"
- Visual Studio : vérifier que l’extension SQL Server Data Tools (SSDT) est bien en version 17.9 ou ultérieure pour supporter SQL Server 2022.
Solution temporaire : conteneur Docker
Si vous devez livrer un projet immédiatement, déployez un conteneur :
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Passw0rd!" ^
-p 1433:1433 --name sql2022 -d mcr.microsoft.com/mssql/server:2022-latest
L’ensemble des outils (SSMS, VS, EF) pourra se connecter à localhost,1433
pendant que vous finissez le nettoyage de la machine.
Préserver ou restaurer vos bases de données
Avant toute désinstallation, sauvegardez les fichiers .mdf/.ldf de vos bases : ils se trouvent par défaut dans C:\ProgramData\Microsoft\SQL Server\MSSQL16.SQLEXPRESS\MSSQL\DATA
. Après réinstallation, montez‑les de la façon suivante :
ALTER DATABASE MaBase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
EXEC sp_detach_db 'MaBase';
EXEC sp_attach_db @dbname = 'MaBase',
@filename1 = N'C:\Backup\MaBase.mdf',
@filename2 = N'C:\Backup\MaBase_log.ldf';
N’oubliez pas de revenir en MULTI_USER
lorsque la migration est terminée.
Bonnes pratiques pour éviter le retour du problème
- Ne mélangez jamais plusieurs éditions (Express + Developer + LocalDB) sur un même poste de développement longue durée.
- Appliquez toujours les CU via le média combiné (ISO) et non via Windows Update pour garder le contrôle des journaux d’installation.
- Activez la télémetrie détaillée (
setup.exe /qs /x86only /indicateprogress
) si vous devez fournir des logs à un support tiers. - Planifiez une capture de point de restauration Windows avant chaque montée de version du moteur.
Questions fréquentes
Puis‑je réinstaller uniquement LocalDB ?
Oui, mais si des fichiers partagés (MSI) sont corrompus, le setup LocalDB héritera des mêmes erreurs -2061893565
. La réinstallation « full » est plus sûre.
Faut‑il conserver SQL Server Browser si je n’utilise qu’une seule instance nommée ?
Non. Vous pouvez désactiver SQLBrowser
et ouvrir explicitement le port 1433 dans votre pare‑feu pour réduire la surface d’attaque.
Comment vérifier qu’aucun redémarrage n’est en attente ?
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\RebootPending"
L’absence de clé signifie qu’aucun redémarrage n’est requis.
Conclusion
Les erreurs -2061893565
, -2061893606
et 0x80070643
sont rarement fatales ; elles traduisent surtout un enchevêtrement d’installations SQL Server incomplètes et d’un magasin CBS dégradé. En supprimant toutes les traces d’anciennes instances, en réinitialisant la couche Windows Update puis en réinstallant directement la dernière CU de SQL Server 2022, vous restaurez un environnement sain, compatible avec Visual Studio, Entity Framework et vos processus CI/CD.
Si, malgré tout, la machine reste instable (multiples BSOD, erreurs DISM irréparables), envisagez une réinstallation complète de Windows ou migrez vos projets vers un conteneur ou une machine virtuelle dédiée.