Delen via


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

Originele productversie: SQL Server
Origineel KB-nummer: 2033238, 2454053

Symptomen

Overweeg een van de volgende scenario's:

  • Bepaalde modules worden geladen in de SQL Server procesadresruimte (Sqlservr.exe).
  • Bepaalde filterstuurprogramma's worden geladen in een systeem waarop SQL Server onderdelen worden uitgevoerd.

In de scenario's kunt u prestatievermindering en consistentieproblemen van SQL Server Database Engine ondervinden.

  • Rapporten van verschillende foutberichten en -omstandigheden die niet reageren (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 ongewoon zwaar is.
  • Uitzonderingen (zoals toegangsschendingen), kritieke foutberichten over databaseconsistentie, assertieberichten of onverwachte procesbeëindiging.
  • 100% CPU-gebruik en lange hersteltijden van databases wanneer u In-Memory OLTP-tabellen in SQL Server gebruikt.
  • Hoog CPU-gebruik voor het SQL Server proces, met name bevoegde processortijd.
  • Onverwachte of onverklaarde fouten wanneer SQL Server processen Windows API-aanroepen uitvoeren.
  • Geheugendumps die zijn geactiveerd voor SQLDumper.exe, kunnen mogelijk niet worden voltooid, waardoor eventuele probleemoplossingsactiviteiten worden belemmerd.

Vanwege de aard van deze problemen vereist de 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 EXE's)

Deze problemen treden op omdat toepassingen of andere software die zijn geïnstalleerd op een server waarop SQL Server wordt uitgevoerd, bepaalde modules in het SQL Server proces (Sqlservr.exe) kunnen laden. Dit kan worden gedaan om te voldoen aan een specifieke bedrijfslogicavereiste, een verbeterde functionaliteit of inbraakbewaking. Deze modules kunnen niet-ondersteunde activiteiten uitvoeren, waaronder omleiding van belangrijke Win32-API's en SQL Server routines, en het aanroepen van riskante API's. Bovendien kunnen sommige intrinsieke problemen binnen 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 zijn antivirusbeveiliging, online back-ups, versleutelingsservices en faciliteiten voor gegevenscompressie of defragmentatie. Deze filterstuurprogramma's voegen zichzelf in de Windows-bestands-I/O-stack in om het gedrag van bestandssystemenaanvragen te verbeteren of te wijzigen.

Onder bepaalde 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/O's (waarvan sommige groter zijn dan het gemiddelde). In vergelijking met andere actieve toepassingen met minder I/O-intensiteit heeft het probleem met filterstuurprogramma's daarom een ernstigere impact op SQL Server.

Opmerking

In tegenstelling tot geïnjecteerde DLL's zijn filterstuurprogramma's (meestal met .sys-extensie) niet zichtbaar in 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 bieden deze informatie, zodat u deze tijdelijke oplossing naar eigen inzicht 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, raadpleegt 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 updates toe die beschikbaar zijn.
  • Configureer het filterstuurprogramma of de bijbehorende toepassing zodanig dat dit de SQL Server workload of bewerkingen niet verstoort.
  • Schakel het laden van het filterstuurprogramma in het systeem uit.
  • Configureer de toepassing om de specifieke module niet in het SQL Server proces te laden.
  • In sommige zeldzame situaties moet u mogelijk de module of het filterstuurprogramma en de bijbehorende toepassing verwijderen om de stabiliteit van het SQL Server proces en het systeem te herstellen.

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 en traceringsgegevens verzamelen voor de problemen.

  • ENTAPI.DLL

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

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

    Deze DLL-bestanden worden geladen in het SQL Server proces als u McAfee Host Intrusion Prevention-software installeert op hetzelfde systeem als SQL Server. Als u merkt dat deze module in 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.DLLen SOPHOS_DETOURED_x64.DLL

    Deze DLL-bestanden worden in het SQL Server-proces geladen als u het Programma Sophos Antivirus installeert op een server waarop SQL Server wordt uitgevoerd. Als u merkt dat deze module wordt geladen in het SQL Server proces, kunt u de AppInit_Dlls registersubsleutel configureren om te voorkomen dat deze module in 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 in het SQL Server proces geladen als u de PI OLEDB-provider gebruikt voor toegang tot gegevens vanaf een PI-server of als u uitgebreide opgeslagen procedures gebruikt die gebruikmaken van de PI SDK. Als u merkt dat deze modules worden geladen in het SQL Server proces, neemt u contact op met de leverancier van deze modules om de OLEDB-provider te configureren als een niet-verwerkende provider. Deze configuratie helpt 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 gegevenspreventie inschakelt voor CrowdStrike Anti-Virus/Endpoint Protection-programma's. Mogelijk ziet u fouten tijdens SQL Server Agent nieuwe processen probeert 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 SQLDumper.exe niet kunt starten om geheugendumps te genereren. We raden u aan contact op te neemt met de ondersteuning van Crowdstrike 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 uitsluitingslijst van software-uitgevers in Aanbevolen lijst met scanuitsluitingen 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, ziet u dat sqlservr.exe in de lijst met processen staat 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 High Impact Issue: Servers kunnen niet meer reageren vanwege meerdere problemen voor meer informatie.

  • 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 besturingssysteemfout 1: Onjuiste functie retourneren. 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 McAfee Anti-Virus Mini-Firewall functie in de producten McAfee VirusScan Enterprise en McAfee McShield. Als u deze functie hebt ingeschakeld, ziet u dat sqlservr.exe een van de processen is 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 antivirusconfiguratie.

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 verstrekt contactgegevens van derden om u te helpen aanvullende informatie over dit onderwerp te vinden. Deze contactinformatie kan zonder voorafgaande kennisgeving worden gewijzigd. Microsoft garandeert de juistheid van contactgegevens van derden niet.

              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.