Delen via


Prestatie- en consistentieproblemen wanneer bepaalde modules of filterstuurprogramma's worden geladen

Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 2033238, 2454053

Symptomen

Houd rekening met een van de volgende scenario's:

  • Bepaalde modules worden geladen in de adresruimte van het SQL Server-proces (Sqlservr.exe).
  • Bepaalde filterstuurprogramma's worden geladen in een systeem waarop SQL Server-onderdelen worden uitgevoerd.

In de scenario's ondervindt u mogelijk prestatievermindering en consistentieproblemen met SQL Server Database Engine.

  • Rapporten van verschillende niet-reagerende foutberichten en -voorwaarden (SQL Server scheduler-bericht zoals 17883, time-outberichten voor toepassingen, ernstige blokkering binnen SQL Server).
  • Trage reactie van SQL Server, zelfs als de gelijktijdige hoeveelheid belasting of activiteit niet ongebruikelijk zwaar is.
  • Uitzonderingen (zoals toegangsschendingen), kritieke foutberichten over databaseconsistentie, assertieberichten of onverwachte procesafbreking.
  • 100% CPU-gebruik en lange hersteltijden van databases wanneer u OLTP-tabellen in het geheugen gebruikt in SQL Server.
  • Hoog CPU-gebruik voor het SQL Server-proces, met name bevoegde processortijd.
  • Onverwachte of onverklaarbare fouten wanneer SQL Server-processen Windows API-aanroepen maken.
  • Geheugendumps die zijn geactiveerd voor SQLDumper.exe kunnen geen eventuele probleemoplossingsactiviteiten voltooien.

Vanwege de aard van deze problemen vereist identificatie van hoofdoorzaken vaak aanzienlijke probleemoplossingstijd en tracering op laag niveau.

Oorzaken

Deze problemen treden op vanwege de volgende oorzaken voor modules en filterstuurprogramma's.

Modules (DLL's of EX-bestanden)

Deze problemen treden op omdat toepassingen of andere software die zijn geïnstalleerd op een server waarop SQL Server wordt uitgevoerd, bepaalde modules kunnen laden in het SQL Server-proces (Sqlservr.exe). Dit kan worden gedaan om een specifieke bedrijfslogicavereiste, een verbeterde functionaliteit of inbraakbewaking te bereiken. Deze modules kunnen niet-ondersteunde activiteiten uitvoeren die belangrijke Win32-API's en SQL Server-routines omvatten, en riskante API's aanroepen. Daarnaast kunnen sommige intrinsieke problemen in deze modules leiden tot beschadiging van verschillende geheugenstructuren die nodig zijn om het SQL Server-proces correct te laten functioneren.

De lijst met modules (DLL's) die in een bepaald proces zijn geladen, kan worden verkregen via verschillende hulpprogramma's, zoals ListDlls of Process Explorer.

Stuurprogramma's filteren

Filterstuurprogramma's kunnen op een systeem worden geïnstalleerd als onderdeel van het installatieprogramma van een toepassing om een bepaald soort functionaliteit te bieden. Voorbeelden hiervan zijn antivirusbeveiliging, online back-ups, versleutelingsservices en faciliteiten voor gegevenscompressie of defragmentatie. Deze filterstuurprogramma's voegen zichzelf in de I/O-stack van het Windows-bestand in om het gedrag van bestandssysteemaanvragen te verbeteren of te wijzigen.

Onder sommige omstandigheden kan het lang duren voordat deze aanvragen zijn voltooid of overmatige resources verbruiken. Er kan ook een vorm van incompatibiliteit zijn tussen de verschillende filterstuurprogramma's die aanwezig zijn in dezelfde stuurprogrammastack.

SQL Server verzendt doorgaans veel bestandssysteem-I/Os (waarvan sommige groter zijn dan het gemiddelde). Daarom heeft het probleem met filterstuurprogramma's, vergeleken met andere actieve toepassingen met minder I/O-intensiteit, een ernstigere invloed op SQL Server.

Notitie

In tegenstelling tot geïnjecteerde DLL's zijn filterstuurprogramma's (meestal met .sys extensie) niet zichtbaar in de details van gebruikersprocessen omdat het kernelentiteiten zijn. U kunt hulpprogramma's zoals ingebouwde Windows-fltmc.exe gebruiken om geïnstalleerde minifilters te detecteren.

Tijdelijke oplossing

Waarschuwing

Deze tijdelijke oplossing kan een computer of een netwerk kwetsbaarder maken voor aanvallen door kwaadwillende gebruikers of door schadelijke software zoals virussen. We raden deze tijdelijke oplossing niet aan, maar geven deze informatie aan, zodat u deze tijdelijke oplossing naar eigen goeddunken kunt implementeren. Het gebruik van deze methode is voor uw eigen risico.

Als u deze problemen wilt omzeilen, identificeert u het filterstuurprogramma of de module die de problemen veroorzaakt. Probeer vervolgens alle of een van de volgende methoden op de juiste manier. Als u het filterstuurprogramma of de module wilt identificeren, controleert u de lijst met mogelijke filterstuurprogramma's en modules voor meer informatie.

  • Neem contact op met de leverancier van de module, het filterstuurprogramma of de toepassing om te controleren op updates. Pas alle beschikbare updates toe.
  • Configureer het filterstuurprogramma of de bijbehorende toepassing op een zodanige manier dat dit geen invloed heeft op de SQL Server-workload of -bewerkingen.
  • Schakel het filterstuurprogramma uit van het laden in het systeem.
  • Configureer de toepassing om de specifieke module niet in het SQL Server-proces te laden.
  • In sommige zeldzame gevallen moet u mogelijk de module of het filterstuurprogramma verwijderen en de bijbehorende toepassing om stabiliteit te herstellen in het SQL Server-proces en het systeem.

Lijst met filterstuurprogramma's en modules die de problemen kunnen veroorzaken

De volgende lijst helpt u bij het identificeren van de filterstuurprogramma's en modules die de prestatieproblemen kunnen veroorzaken. U kunt een iteratieve set diagnostische gegevens verzamelen en gegevens traceren voor de problemen.

  • ENTAPI.DLL

    ENTAPI.DLL in het SQL Server-proces wordt geladen als u McAfee VirusScan Enterprise installeert op een server waarop Microsoft SQL Server wordt uitgevoerd en vervolgens configureert u deze software om SQL Server te bewaken. Wanneer deze module wordt geladen, worden belangrijke Win 32-API's ook omweg gemaakt binnen het SQL Server-proces. Als u merkt dat deze module in het SQL Server-proces wordt geladen, configureert u McAfee VirusScan Enterprise om Sqlservr.exe uit te sluiten van verschillende geavanceerde bewakingen, zoals bufferoverloopbeveiliging.

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

    Deze DLL-bestanden worden in het SQL Server-proces geladen als u McAfee Host Intrusion Prevention-software installeert op hetzelfde systeem als SQL Server. Als u merkt dat deze module in het SQL Server-proces wordt geladen, configureert u McAfee Host Intrusion Prevention om Sqlservr.exe uit te sluiten van de bewakingslijst.

  • SOPHOS_DETOURED.DLL, SWI_IFSLSP_64.DLL en SOPHOS_DETOURED_x64.DLL

    Deze DLL-bestanden worden geladen in het SQL Server-proces als u Sophos Antivirus-programma installeert op een server waarop SQL Server wordt uitgevoerd. Als u merkt dat deze module in het SQL Server-proces wordt geladen, kunt u de AppInit_Dlls registersubsleutel configureren om te voorkomen dat deze module in het SQL Server-proces wordt geladen. Zie AppInit_DLLs in Windows 7 en Windows Server 2008 R2 en AppInit DLL's en Beveiligd opstarten voor meer informatie.

  • PIOLEDB.DLL en PISDK.DLL

    Deze DLL-bestanden worden geladen in het SQL Server-proces als u de PI OLEDB-provider gebruikt voor toegang tot gegevens van een PI-server of als u uitgebreide opgeslagen procedures gebruikt die gebruikmaken van de PI SDK. Als u merkt dat deze modules in het SQL Server-proces worden geladen, neemt u contact op met de leverancier van deze modules om de OLEDB-provider te configureren als een out-of-process provider. Deze configuratie helpt om te voorkomen dat deze modules in het SQL Server-proces moeten worden geladen.

  • UMPPC*.DLL en SCRIPTCONTROL*.DLL

    Deze DLL-bestanden worden geladen in de adresruimte van sql Server-gerelateerde processen als u de instelling Aanvullende gebruikersmodus voor preventie van gegevens voor CrowdStrike Anti-Virus/Endpoint Protection-programma's inschakelt. Er kunnen fouten optreden terwijl SQL Server Agent probeert nieuwe processen te maken bij het uitvoeren van taken. Er kunnen fouten optreden tijdens het starten van SQL Server Management Studio. Mogelijk ziet u ook dat SQL Server niet kan worden gestart SQLDumper.exe om geheugendumps te genereren. We raden u aan contact op te leggen met crowdstrike-ondersteuning met informatie over uw probleem en te vragen of er een oplossing beschikbaar is.

  • perfiCrcPerfMonMgr.DLL

    Dit DLL-bestand wordt in het SQL Server-proces geladen als u de Trend Micro OfficeScan-client installeert. Raadpleeg de instelling van de uitsluitingslijst voor softwareuitgevers in de lijst aanbevolen scanuitsluiting voor Trend Micro Endpoint-producten.

  • MFEBOPK.SYS

    Dit filterstuurprogramma wordt gebruikt voor de Buffer Overflow Protection functie in McAfee VirusScan Enterprise. Als u deze functie hebt ingeschakeld, zult u merken dat sqlservr.exe deel uitmaakt van de lijst met processen die worden beveiligd door Buffer Overflow Protection. Als u dit filterstuurprogramma hebt op een systeem waarop SQL Server wordt uitgevoerd, moet u de acties uitvoeren die zijn opgegeven in de sectie Tijdelijke oplossing . Zie Probleem met hoge impact voor meer informatie: Servers reageren mogelijk niet als gevolg van meerdere problemen.

  • NLEMSQL64.SYS en NLEMSQL.SYS

    Dit filterstuurprogramma wordt geïnstalleerd door de NetLib Encryptionizer-Software. Wanneer dit filterstuurprogramma is geïnstalleerd op een computer waarop SQL Server wordt uitgevoerd en u een back-up naar een netwerkshare uitvoert, kunnen er fouten optreden die fout 1 van het besturingssysteem retourneren : onjuiste functie. Neem contact op met de softwareleverancier om updates voor het filterstuurprogramma te verkrijgen om dit probleem op te lossen.

  • MFETDIK.SYS

    Dit filterstuurprogramma wordt gebruikt voor de functie in de McAfee Anti-Virus Mini-Firewall producten McAfee VirusScan Enterprise en McAfee McShield. Als u deze functie hebt ingeschakeld, ziet u dat sqlservr.exe deel uitmaakt van de lijst met processen die door de Anti-Virus functie worden bewaakt. Als u dit filterstuurprogramma hebt op een systeem waarop SQL Server wordt uitgevoerd, moet u de acties uitvoeren die zijn opgegeven in de sectie Tijdelijke oplossing . U kunt ook OVERWEGEN OM SQL Server-processen toe te voegen aan de lijst met processen met een laag risico in de anti-virusconfiguratie.

Verwijzing

Disclaimerinformatie van derden

De producten van derden die in dit artikel worden vermeld, worden vervaardigd door bedrijven die onafhankelijk zijn van Microsoft. Microsoft verleent dan ook geen enkele garantie, impliciet noch anderszins, omtrent de prestaties of de betrouwbaarheid van deze producten.

Disclaimerinformatie van derden

Microsoft biedt contactgegevens van derden om u te helpen aanvullende informatie over dit onderwerp te vinden. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft garandeert niet de nauwkeurigheid van contactgegevens van derden.

Disclaimer voor informatie en oplossingen van derden

De informatie en de oplossing in dit document geven de standpunten van Microsoft Corporation weer aangaande de besproken onderwerpen ten tijde van deze publicatie. Deze oplossing is beschikbaar via Microsoft of derden. Microsoft beveelt geen specifieke derden of oplossingen van derden aan die in dit artikel worden beschreven. Er kunnen ook andere derden of oplossingen van derden zijn die niet in dit artikel ter sprake zijn gekomen. Omdat Microsoft moet reageren op veranderingen in de markt, mag deze informatie niet worden opgevat als een belofte van Microsoft. Microsoft kan de nauwkeurigheid van de informatie of van de oplossingen die door Microsoft of door vermelde derden worden aangedragen, niet garanderen of goedkeuren.

Microsoft biedt geen garanties en wijst alle beweringen, garanties en voorwaarden van de hand, of deze nu uitdrukkelijk, impliciet of wettelijk zijn. Deze voorwaarden omvatten, maar zijn niet beperkt tot, verklaringen, garanties of voorwaarden met betrekking tot titel, niet-inbreuk, bevredigende staat, verkoopbaarheid en geschiktheid voor een bepaald doel, met betrekking tot een service, oplossing, product of andere materialen of informatie. Microsoft stelt zich in geen geval aansprakelijk voor enige oplossing van een derde die in dit artikel wordt genoemd.