Partager via


Problèmes de performances et de cohérence lorsque certains modules ou pilotes de filtre sont chargés

Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 2033238, 2454053

Symptômes

Tenez compte de l’un des scénarios suivants :

  • Certains modules sont chargés dans l’espace d’adressage du processus SQL Server (Sqlservr.exe).
  • Certains pilotes de filtre sont chargés dans un système exécutant des composants SQL Server.

Dans les scénarios, vous pouvez rencontrer des problèmes de dégradation et de cohérence des performances de SQL Server Moteur de base de données.

  • Rapports de différents messages d’erreur et conditions liés à la réponse (message du planificateur SQL Server tel que 17883, messages de délai d’attente de l’application, blocage grave dans SQL Server).
  • Réponse lente de SQL Server même si la quantité simultanée de charge ou d’activité n’est pas inhabituellement lourde.
  • Exceptions (telles que les violations d’accès), messages d’erreur critiques concernant la cohérence de la base de données, les messages d’assertion ou l’arrêt inattendu du processus.
  • Utilisation du processeur de 100 % et temps de récupération de base de données longs lorsque vous utilisez des tables OLTP en mémoire dans SQL Server.
  • Utilisation élevée du processeur pour le processus SQL Server, en particulier le temps processeur privilégié.
  • Échecs inattendus ou inexpliqués lorsque SQL Server traite des appels d’API Windows.
  • Les vidages de mémoire déclenchés pour SQLDumper.exe peuvent ne pas aboutir à une activité de résolution des problèmes.

En raison de la nature de ces problèmes, l’identification de la cause racine nécessite souvent un temps de résolution des problèmes important et un suivi de bas niveau.

Causes

Ces problèmes se produisent en raison des causes suivantes pour les modules et les pilotes de filtre.

Modules (DLL ou EXEs)

Ces problèmes se produisent parce que des applications ou d’autres logiciels installés sur un serveur exécutant SQL Server peuvent charger certains modules dans le processus SQL Server (Sqlservr.exe). Cela peut être fait pour obtenir une exigence de logique métier spécifique, une fonctionnalité améliorée ou une surveillance des intrusions. Ces modules peuvent effectuer des activités non prises en charge qui incluent des API Win32 importantes et des routines SQL Server importantes et appelant des API risquées. En outre, certains problèmes intrinsèques au sein de ces modules peuvent entraîner une altération de différentes structures de mémoire nécessaires pour que le processus SQL Server fonctionne correctement.

La liste des modules (DLL) chargés dans un processus donné peut être obtenue via différents outils, tels que ListDlls ou Process Explorer.

Pilotes de filtre

Les pilotes de filtre peuvent être installés sur un système dans le cadre du programme d’installation d’une application pour fournir un certain type de fonctionnalité. Par exemple, la protection antivirus, les sauvegardes en ligne, les services de chiffrement et les installations de compression ou de défragmentation des données. Ces pilotes de filtre s’insèrent dans la pile d’E/S de fichiers Windows pour améliorer ou modifier le comportement des requêtes de système de fichiers.

Dans certaines conditions, ces demandes peuvent prendre beaucoup de temps ou consommer des ressources excessives. En outre, il peut y avoir une certaine forme d’incompatibilité entre les différents pilotes de filtre présents dans la même pile de pilotes.

SQL Server émet généralement un grand nombre d’E/S du système de fichiers (dont certains sont supérieurs à la moyenne). Par conséquent, par rapport à d’autres applications en cours d’exécution avec moins d’intensité d’E/S, le problème avec les pilotes de filtre aura un impact plus grave sur SQL Server.

Note

Contrairement aux DLL injectées, les pilotes de filtre (généralement avec .sys extension) ne sont pas visibles dans les détails des processus utilisateur, car ils sont des entités de noyau. Vous pouvez utiliser des outils tels que les fltmc.exe intégrés Windows pour découvrir les minifilters installés.

Solution de contournement

Avertissement

Cette solution de contournement peut rendre votre ordinateur ou réseau plus vulnérable aux attaques par des utilisateurs ou des logiciels malveillants comme des virus. Nous vous déconseillons cette solution de contournement, mais vous fournissez ces informations pour pouvoir implémenter cette solution à votre discrétion. Son utilisation relève de votre responsabilité.

Pour contourner ces problèmes, identifiez le pilote de filtre ou le module à l’origine des problèmes. Ensuite, essayez toutes ou l’une des méthodes suivantes de manière appropriée. Pour vous aider à identifier le pilote de filtre ou le module, consultez la liste des pilotes et modules de filtre possibles pour plus d’informations.

  • Contactez le fournisseur du module, du pilote de filtre ou de l’application pour rechercher les mises à jour. Appliquez les mises à jour disponibles.
  • Configurez le pilote de filtre ou l’application associée de telle sorte qu’elle n’interfère pas avec la charge de travail ou les opérations SQL Server.
  • Désactivez le chargement du pilote de filtre dans le système.
  • Configurez l’application pour ne pas charger le module spécifique dans le processus SQL Server.
  • Dans certaines situations rares, vous devrez peut-être supprimer le module ou le pilote de filtre et son application associée pour restaurer la stabilité dans le processus SQL Server et le système.

Liste des pilotes et modules de filtre qui peuvent provoquer les problèmes

La liste suivante vous aide à identifier les pilotes de filtre et les modules qui peuvent provoquer les problèmes de performances. Vous pouvez collecter un ensemble itératif de données de diagnostic et de suivi pour les problèmes.

  • ENTAPI.DLL

    ENTAPI.DLL est chargé dans le processus SQL Server si vous installez McAfee VirusScan Enterprise sur un serveur exécutant Microsoft SQL Server, puis vous configurez ce logiciel pour surveiller SQL Server. Lorsque ce module est chargé, les API Win 32 importantes sont également détourdées dans le processus SQL Server. Si vous remarquez que ce module est chargé dans le processus SQL Server, configurez McAfee VirusScan Enterprise pour exclure Sqlservr.exe de différentes analyses avancées, telles que la protection contre le dépassement de mémoire tampon.

  • HIPI.DLL, HcSQL.DLL, HcApi.DLL et HcThe.DLL

    Ces fichiers DLL sont chargés dans le processus SQL Server si vous installez le logiciel McAfee Host Intrusion Prevention sur le même système que SQL Server. Si vous remarquez que ce module est chargé dans le processus SQL Server, configurez McAfee Host Intrusion Prevention pour exclure Sqlservr.exe de sa liste de surveillance.

  • SOPHOS_DETOURED.DLL, SWI_IFSLSP_64.DLL et SOPHOS_DETOURED_x64.DLL

    Ces fichiers DLL sont chargés dans le processus SQL Server si vous installez le programme Antivirus Sophos sur un serveur exécutant SQL Server. Si vous remarquez que ce module est chargé dans le processus SQL Server, vous pouvez configurer la sous-clé de Registre AppInit_Dlls pour éviter de charger ce module dans le processus SQL Server. Pour plus d’informations, consultez AppInit_DLLs dans Windows 7 et Windows Server 2008 R2 et les DLL AppInit et le démarrage sécurisé.

  • PIOLEDB.DLL et PISDK.DLL

    Ces fichiers DLL sont chargés dans le processus SQL Server si vous utilisez le fournisseur OLEDB PI pour accéder aux données à partir d’un serveur PI ou si vous utilisez des procédures stockées étendues qui utilisent le Kit de développement logiciel (SDK) PI. Si vous remarquez que ces modules sont chargés dans le processus SQL Server, contactez le fournisseur de ces modules pour configurer le fournisseur OLEDB en tant que fournisseur hors processus. Cette configuration permet d’éviter la nécessité de charger ces modules dans le processus SQL Server.

  • UMPPC*.DLL et SCRIPTCONTROL*.DLL

    Ces fichiers DLL sont chargés dans l’espace d’adressage des processus liés à SQL Server si vous activez le paramètre de prévention des données en mode utilisateur supplémentaire pour les programmes de protection contre le virus/point de terminaison CrowdStrike. Vous remarquerez peut-être des échecs pendant que SQL Server Agent tente de créer de nouveaux processus lors de l’exécution de travaux. Vous pouvez rencontrer des échecs lors de la tentative de lancement de SQL Server Management Studio. Vous pouvez également voir que SQL Server ne parvient pas à lancer SQLDumper.exe pour générer des vidages de mémoire. Nous vous recommandons de contacter le support Crowdstrike avec des informations relatives à votre problème et de demander si un correctif est disponible.

  • perfiCrcPerfMonMgr.DLL

    Ce fichier DLL est chargé dans le processus SQL Server si vous installez le client Trend Micro OfficeScan. Reportez-vous au paramètre de liste d’exclusion de l’éditeur de logiciels dans la liste d’exclusion d’analyse recommandée pour les produits Trend Micro Endpoint.

  • MFEBOPK.SYS

    Ce pilote de filtre est utilisé pour la Buffer Overflow Protection fonctionnalité dans McAfee VirusScan Enterprise. Si cette fonctionnalité est activée, vous remarquerez que sqlservr.exe figure parmi la liste des processus protégés par Buffer Overflow Protection. Si vous disposez de ce pilote de filtre sur un système exécutant SQL Server, vous devez effectuer les actions spécifiées dans la section Solution de contournement . Pour plus d’informations, consultez Problème d’impact élevé : les serveurs peuvent ne pas répondre en raison de plusieurs problèmes.

  • NLEMSQL64.SYS et NLEMSQL.SYS

    Ce pilote de filtre est installé par NetLib Encryptionizer-Software. Lorsque ce pilote de filtre est installé sur un ordinateur exécutant SQL Server et que vous effectuez une sauvegarde sur un partage réseau, vous risquez de rencontrer des échecs qui retournent l’erreur du système d’exploitation 1 : fonction incorrecte. Pour résoudre ce problème, contactez le fournisseur de logiciels pour obtenir des mises à jour du pilote de filtre.

  • MFETDIK.SYS

    Ce pilote de filtre est utilisé pour la McAfee Anti-Virus Mini-Firewall fonctionnalité des produits McAfee VirusScan Enterprise et McAfee McShield. Si cette fonctionnalité est activée, vous remarquerez que sqlservr.exe figure parmi la liste des processus surveillés par la Anti-Virus fonctionnalité. Si vous disposez de ce pilote de filtre sur un système exécutant SQL Server, vous devez effectuer les actions spécifiées dans la section Solution de contournement . Vous pouvez également envisager d’ajouter des processus SQL Server à la liste des processus à faible risque dans la configuration antivirus.

Référence

Exclusion de responsabilité de tiers

Les produits tiers mentionnés dans le présent article sont fabriqués par des sociétés indépendantes de Microsoft. Microsoft exclut toute garantie, implicite ou autre, concernant les performances ou la fiabilité de ces produits.

Exclusion de responsabilité sur les coordonnées externes

Microsoft fournit des informations de contacts externes afin de vous aider à obtenir un support technique sur ce sujet. Ces informations de contact peuvent changer sans préavis. Microsoft ne garantit pas l’exactitude des informations concernant les sociétés externes.

Informations tierces et clause d’exclusion de responsabilité de solution

Les informations et la solution décrites dans ce document représentent l’opinion actuelle de Microsoft Corporation à la date de publication. Cette solution est disponible par le biais de Microsoft ou d’un fournisseur tiers. Microsoft ne recommande aucun fournisseur tiers ou solution tierce spécifique mentionné dans cet article. Il peut exister également d’autres fournisseurs tiers ou solutions tierces non mentionnés dans cet article. Microsoft étant tenue de répondre aux évolutions du marché, ces informations ne doivent pas être interprétées comme un engagement de la part de Microsoft. Microsoft ne peut garantir l’exactitude des informations ou des solutions présentées par Microsoft ou par tout fournisseur tiers mentionné.

Microsoft ne fournit aucune garantie et exclut toute représentation, garantie et condition explicite, implicite ou prévue par la loi, Ces conditions comprennent, mais sans s’y limiter, les représentations, garanties ou conditions de titre, absence de contrefaçon, condition satisfaisante, qualité marchande et adéquation à un usage particulier relatifs aux services, solutions, produits ou autres informations. En aucun cas, Microsoft ne sera tenue responsable des solutions tierces mentionnées dans cet article.