WSUS : Recréer la base SUSDB sur WID et les données WSUS
Sommaire
I. Présentation
Dans ce tutoriel, nous verrons comment repartir sur une base propre avec WSUS, sans désinstaller et réinstaller le rôle. Uniquement en faisant une remise à zéro de la base de données et des données WSUS.
Puisqu'une base de données WSUS qui vieillie devient moins réactive et surtout encombre votre serveur inutilement, il peut-être nécessaire de faire un rafraichissement radical. Bien que WSUS intègre un outil de nettoyage qui fonctionne plus ou moins bien, et qui parfois peut même faire planter la console s'il y a trop de données à nettoyer, on se rendra compte que ce n'est pas suffisant.
Bien que ça peut paraître effrayant au premier abord, c'est intéressant de repartir de zéro. Il y aura un travail préparatoire à refaire, notamment la première synchronisation, puis patienter le temps que vos ordinateurs remontent dans la console, mais ce rafraichissement sera forcément bénéfique.
Voyons comment procéder. Dans ce tutoriel, j'utilise un serveur WSUS sous Windows Server 2012 R2, avec une base de données Windows Internal Database (WID). La procédure est légèrement différente si votre WSUS utilise une database sur SQL Server. Néanmoins, cette procédure fonctionne sur Windows Server 2012 à l'identique, par contre je n'ai pas testé sur Windows Server 2016 mais je suis preneur de retour 🙂
II. Stopper les services WSUS
A partir d'une console PowerShell ouverte en tant qu'administrateur, stoppez les deux services liés à WSUS :
Stop-Service WSUSService , W3SVC
On peut vérifier qu'ils sont bien stoppés grâce à la commande suivante :
Get-Service WSUSService , W3SVC
Voyez par vous-même :
III. Sauvegarder la base de données SUSDB
Avant de supprimer la base de données SUSDB, qui est le nom de la base de données correspondante à WSUS, nous allons effectuer une sauvegarde. Pour cela, nous allons utiliser SQL Server Management Studio qu'il faut télécharger dans la version correspondante
Note : Si vous ne savez pas si le serveur WSUS utilise une base de données WID ou SQL Server, vous pouvez regarder la valeur "SqlServerName" dans le registre au sein de cette clé : HKLM\Software\Microsoft\Update Services\Server\Setup
Logiquement sur Windows Server 2012 R2, vous devez installer le Management Studio de la version SQL Server 2012. Pour être sûr de ce choix, accédez au dossier "C:\Windows\WID\Log" et ouvrez le fichier "error.log".
Comme vous pourrez le constater ci-dessous, la première ligne du fichier vous donne des indications sur la version de SQL Server 2012 (bien que la base de données soit WID). Téléchargez et installez le SQL Server Studio Management adéquat.
L'installation des outils de gestion de base est suffisante :
Dès lors que l'installation est terminée, vous pouvez ouvrir SQL Server Management Studio en tant qu'administration (sinon ça ne fonctionnera pas). Indiquez comme nom de serveur la chaîne suivante et initiez la connexion :
\\.\pipe\MICROSOFT##WID\tsql\query
Comme ceci :
Ensuite sur la gauche, déroulez "Bases de données" et sur "SUSDB" effectuez un clic droit puis "Nouvelle requête" pour que l'on exécute la requête de backup.
Exécutez la requête suivante en adaptant le chemin vers lequel vous souhaitez stocker la sauvegarde si nécessaire.
backup database [susdb] to disk = 'D:\Backup\susdb.bak' with copy_only
Cliquez sur le bouton "Exécuter" ensuite pour exécuter la requête SQL.
Après quelques minutes, la sauvegarde doit se terminer et vous obtiendrez un message semblable à celui-ci :
IV. Supprimer la base de données SUSDB
On poursuit notre travail par la suppression de la base de données SUSDB, toujours par l'intermédiaire de SQL Server Management Studio. Effectuez un clic droit sur la base de données SUSDB et cliquez sur "Supprimer".
Avant de valider la suppression, cochez l'option "Fermer les connexions existantes" puis cliquez sur "OK".
V. Supprimer les données WSUS
Maintenant que l'on s'est débarrassé de la base de données de WSUS, on va supprimer les données de WSUS. Commencez par supprimer le dossier correspondant à ces données, généralement dans un dossier nommé "WSUS" stocké sur un volume dédié :
Remove-Item -Path D:\WSUS\ -Recurse
Puis recréez un répertoire vide :
Set-Location D:\New-Item -ItemType Directory -Name "WSUS"
Pensez bien sûr à adapter le chemin.
VI. Mise en route de WSUS
Dernière ligne droite dans la réinitialisation de WSUS : On va démarrer les deux services que l'on avait stoppé précédemment :
Start-Service WSUSService , W3SVC
Ce qui donne :
Pour terminer, nous allons initialiser la création de la base SUSDB pour finaliser la remise à neuf. Voici la commande associée :
.\Wsusutil.exe postinstall CONTENT_DIR="D:\WSUS"
Pensez à vous positionner au préalable dans le répertoire où est stocké Wsusutil.exe :
Set-Location "C:\Program Files\Update Services\Tools"
Après quelques minutes, le processus de post-installation se termine.
La suite consiste à démarrer la console WSUS puis suivre l'assistant de configuration, je vous laisse en compagnie de la console WSUS que vous connaissez parfaitement et qu'il faudra reconfigurer pour repartir sur des bases saines.
Bon courage ! 🙂
Bonjour Florian;
merci pour ce tutoriel qui correspond parfaitement à mon cas.
Suite à une migration de WSUS d’un serveur 2008 vers 2012, je souhaite nettoyer la base de données après plusieurs disfonctionnements (notamment avec l’upgrade Windows 10, 1703 malgré les mises à jour des différents KB effectuée sur le serveur).
je rencontre un problème lors du listage des bases, il me manque la base SUSDB (elle n’apparait pas).
l’environnement est:
Serveur 2012 R2 64b, la base est « WID » (merci encore pour le tuto) est la version Sql est celle du tuto.
Avez-vous une idée ou une piste à me donner.
Merci d’avance, bonne journée et bon (long) week-end.
P.E
Bonjour,
super tuto. J’ai pu refaire une base de donnée toute propre. En revanche, je n’ai plus aucun pc du réseau qui télécharge les mises à jours à partir de WSUS.
J’ai parcouru le net, j’ai régénéré le SID d’un poste client, fait des wuauclt /resetauthorization /detectnow .
Ca ne change rien. Les postes clients remontent bien dans la console, j’ai bien les rapports, mais aucun téléchargements. Pourtant les updates sont bien approuvés sur Wsus, et ont bien été téléchargés.
Une idée ?
Bonjour,
merci pour ce tuto. Juste un petit soucis, mes clients ne téléchargent plus les mises à jours. Ça reste bloqué à 0%. J’ai tout essayé, reset au niveau des clients, même sur un nouveau poste fraîchement installé, ça reste bloqué.
Bonjour,
Je vous conseille de consulter les logs de Windows Update sur le poste client afin d’obtenir plus d’informations sur le problème, notamment un ou plusieurs codes d’erreurs pour orienter les recherches. Fichier « WindowsUpdate.log » dans le répertoire d’installation de Windows.
Cordialement,
Florian
Bonjour,
J’ai suivi à la lettre ce tutoriel, par contre, lorsque je relance la console WSUS, il me met impossible de connexion, quelle solution pouvez vous m’apporter?
Merci d’avance
Il faut redémarrér l’application « WSUSPool » dans le Pools d’applications de IIS.
Il plante souvant.
voir cette article pour régler le problème : https://www.saotn.org/wsuspool-keeps-crashing-stops/
Bonjour,
Merci pour ce super tuto, mais pour un Wsus avec Sql server. Quels sont les fonctionnalités a cocher sur Sql Server, car je ne trouve rien sur le net !!! Je suis en
Si quelqu’un peut m’aider svp.
Bonjour,
Lors de l’initialisation de la base, j’ai le messsage suivant : Erreur irrécupérable : Échec de la vérification de schéma pour la base de données « SUSDB ».
Échec de l’instruction ALTER DATABASE.
Pouvez-vous m’aider.
Merci
Bonjour,
C’est un super tuto !! Un très grand Merci.
Bonjour,
Merci pour ce tuto.
En revanche depuis la manip, mon serveur Wsus est instable et le WsusPool s’arrête sans cesse.
Server 2016 Standard en VM, 500 Go pour la data.
Que me conseillez vous de faire ?
Merci
Bonjour,
Merci de partager ainsi tes connaissances.