Les ordinateurs clients n’envoient pas de rapports au serveur Windows Software Update Services (WSUS)


Symptômes


Les ordinateurs clients ne renvoient pas à un serveur Microsoft Windows Software Update Services (WSUS). En outre, les symptômes suivants peuvent se produire :
  • Le message d’erreur suivant est enregistré dans le fichier journal Windowsupdate.log sur les ordinateurs clients :
    Avertissement : Impossible de télécharger des événements sur le serveur avec hr = 80244008
  • Messages d’erreur de délai d’attente de Microsoft SQL Server sont affichés dans la console d’administration sur le serveur WSUS.
  • Le fichier SoftwareDistribution.log qui se trouve dans le dossier %programfiles%\Microsoft Windows Update Services\LogFiles contenait des messages semblables à ce qui suit :
    <DATE>
    <TIME>
    W3wp.130DBConnection.LogSqlExceptionDBLAYER d’erreur de l’UTC : erreurs [0] : Source du fournisseur de données SqlClient .net, serveur OPC-AD-WSUS1N\WSUS, numéro -2, classe 10, état 0, la procédure ConnectionRead (WrapperRead()).,
    Numéro de ligne 0 : Délai expiré. Le délai d’attente écoulée avant l’achèvement de l’opération ou le serveur ne répond pas.

Cause


Ce problème se produit si le nombre d’événements dans le tableau tbEventInstance dépasse 1 million de lignes.

Un serveur WSUS qui utilise le matériel recommandé peut prendre en charge un nombre maximal de 15 000 clients à l’aide d’un cycle de détection par défaut de 22 heures. Le nombre d’événements qui est ajouté au tableau tbEventInstance dépend du nombre de clients et à la fréquence définie pour chaque cycle de détection. La suppression automatique de lignes de la table tbEventInstance démarre lorsqu’un client essaie d’envoyer un rapport. Le processus de suppression automatique est initialisé uniquement si les événements de création de rapports dans le tableau tbEventInstance dépassent 1 million de lignes.

Le processus de suppression automatique est très lent et empêche les ordinateurs clients d’envoyer des rapports au serveur WSUS. Par défaut, WSUS est configuré pour supprimer les événements qui datent de plus de 15 jours sur les stations de travail et de plus de 90 jours sur les serveurs. WSUS supprime les événements obsolètes à un taux de 1 000 événements toutes les 12 heures.

Pour plus d’informations sur la façon de déterminer si la table tbEventInstance a plus de 1 million de lignes, reportez-vous à la section « Informations complémentaires ».

Résolution


Informations sur le correctif

Un correctif pris en charge est disponible auprès de Microsoft. Toutefois, ce correctif vise à corriger uniquement le problème décrit dans cet article. Appliquez ce correctif uniquement aux systèmes rencontrant ce problème spécifique.

Si le correctif est disponible pour le téléchargement, il existe une section « Téléchargement de correctif logiciel disponible » au début de cet article de la Base de connaissances. Si cette section n’apparaît pas, soumettez une demande au Service Clients et Support de Microsoft pour obtenir le correctif.

Remarque Si des problèmes supplémentaires se produisent ou si des procédures de dépannage sont nécessaires, vous devrez peut-être formuler une demande de service distincte. Les coûts habituels du support technique s'appliqueront aux questions et problèmes qui ne relèvent pas de ce correctif logiciel. Pour une liste complète des numéros de téléphone service clientèle de Microsoft ou pour créer une demande de service distincte, visitez le site Web de Microsoft à l’adresse suivante :Remarque Le formulaire « Téléchargement de correctif logiciel disponible » affiche les langues pour lesquelles le correctif est disponible. Si vous ne voyez pas votre langue, c'est parce qu'il n'y a pas de correctif disponible pour cette langue.

Conditions préalables

Aucunes conditions préalables ne sont requises.

Nécessite un redémarrage

Vous n’êtes pas obligé de redémarrer l’ordinateur après avoir appliqué ce correctif.

Informations de remplacement du correctif

Ce correctif ne remplace aucun autre correctif.

Informations sur les fichiers

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont répertoriées en temps universel coordonné (UTC). Lorsque vous affichez les informations de fichier, elles sont converties en heure locale. Pour trouver la différence entre l’UTC et l’heure locale, utilisez l’onglet fuseau horaire dans l’élément de Date et d’heure dans le panneau de configuration.
Nom de fichierVersion de fichierTaille du fichierDateHeurePlateforme
Eventinstancesfix.dllNe s'applique pas41,27207-Nov-200511:36x86
Eventinstancesfix.sqlNe s'applique pas14,44201-Nov-200510:42Ne s'applique pas
Runeventinstancesfix.vbsNe s'applique pas1,43308-Nov-200512:16Ne s'applique pas

Solution de contournement


Pour contourner ce problème, modifiez le cycle de détection une valeur qui est dans la plage autorisée. À l’aide de stratégie de groupe, vous pouvez manipuler la durée entre chaque cycle de détection de 1 à 22 heures. Par exemple, si vous modifiez la fréquence du cycle de détection de la valeur par défaut de 22 heures en 11 heures, le nombre de clients que le serveur WSUS peut prendre en charge est réduit à 7 500 clients.

Si les ordinateurs clients ne renvoient pas au serveur WSUS après la modification de la fréquence du cycle de détection, vous devez supprimer tous les événements en cours à partir de la table tbEventInstance. Pour ce faire, exécutez la commande suivante dans l’Analyseur de requêtes SQL :
TRUNCATE TABLE dbo.tbEventInstance
En outre, vous pouvez arrêter le processus de suppression automatique et augmentez la fréquence du processus de suppression. Après avoir augmenté la fréquence du processus de suppression, WSUS supprime les lignes en plus petits blocs, mais maintient la taille de la table tbEventInstance.

Pour arrêter le processus de suppression automatique et définir la fréquence du processus de suppression sur 1 heure, exécutez la commande suivante dans l’Analyseur de requêtes SQL :
Mise à jour dbo.tbConfigurationB SET AutoPurgeDetectionPeriod = 1
Cette commande exécute le processus de suppression toutes les heures. Après avoir exécuté cette commande, WSUS supprime 24 000 événements par jour au taux de 1 000 événements par heure. Il s’agit de la fréquence la plus élevée qui peut être définie pour le processus de suppression.

Pour calculer la fréquence de suppression automatique correcte et la fréquence du cycle de détection correcte, vous devez connaître le nombre de clients WSUS.

Utilisez les formules suivantes pour calculer la fréquence minimum pour le processus de suppression et la fréquence du cycle de détection :
Fréquence de processus de suppression minimale : (24/DF) x CL
Fréquence du cycle de détection : (CL/PF) x 24
Remarque DF est la fréquence du cycle de détection, CL est le nombre de clients WSUS, et PF est la fréquence minimale de vidage.

Par exemple, s’il y a 4 000 clients WSUS et si vous définissez la fréquence du cycle de détection sur 8 cycles par jour, environ 32 000 événements peuvent être connectés à la table tbEventInstance. Le nombre maximal d’événements pouvant être supprimés par le processus de suppression par jour est de 24 000 événements lorsque vous définissez la fréquence de suppression sur 1 heure. Par conséquent, vous pouvez réduire la fréquence du cycle de détection afin que le nombre d’événements qui sont générés par les clients est inférieure à 24 000.

État


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations


Comment faire pour déterminer si la table tbEventInstance a plus de 1 million de lignes

  1. Démarrer l’Analyseur de requêtes SQL et connectez-vous au serveur local.
  2. Dans la liste des bases de données , cliquez sur SUSDB.
  3. Dans la fenêtre requête, collez la requête SQL suivante :
    select count(*) from tbEventInstance
  4. Cliquez sur Exécuter la requête pour exécuter la requête.
Si vous exécutez Microsoft SQL Server Desktop Engine (Windows) (WMSDE), vous pouvez également utiliser la commande osql pour vérifier si la table tbEventInstance a plus de 1 million de lignes. Pour ce faire, tapez la commande suivante à l'invite de commande et appuyez sur ENTRÉE :
"%programfiles%\Update Services\tools\osql\osql.exe" -S %COMPUTERNAME%\WSUS -E -dSUSDB -Q"SELECT COUNT(*) FROM dbo.tbEventInstance"
Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft