Leistung und der Konsistenz bei SQL Server-Module geladen sind Adressraum

Gilt für: Microsoft SQL Server 2005 Developer EditionMicrosoft SQL Server 2005 Enterprise EditionMicrosoft SQL Server 2005 Enterprise X64 Edition

Problembeschreibung


Wenn bestimmte Module Prozessadressraum der Microsoft SQL Server (Sqlservr.exe) geladen werden, können die folgenden Symptome auftreten:
  • Berichte der verschiedenen hängt-bezogene Fehlermeldungen und (z. B. SQL Server Scheduler Nachricht wie 17883, Anwendung Timeout, schwere Blockierung in SQL Server)
  • Antwort von SQL Server auch die gleichzeitige Auslastung nicht ungewöhnlich hoch ist sehr langsam
  • Ausnahmen (wie Access Violations), kritische Fehlermeldungen Datenbankkonsistenz, Assertion Nachrichten oder Unerwarteter Prozessabbruch
  • 100 % CPU-Auslastung und lange Datenbank Wiederherstellungszeiten bei OLTP-Tabellen im Arbeitsspeicher in SQL Server verwenden

Ursache


Diese Probleme auftreten, weil die Module in den SQL Server-Prozess (Sqlservr.exe) laden kann, Anwendung oder andere Software, die auf einem Server installiert werden, auf dem SQL Server ausgeführt wird. Dies kann zu bestimmten Bedarf Logik, erweiterte Funktionalität oder Intrusion überwachen. Diese Module können nicht unterstützte Aktivitäten ausführen, die Seiteninhalte wichtige Win32-APIs und SQL Server Routinen sowie risikoreiche APIs aufrufen. Darüber hinaus können eingebaute Probleme in diesen Modulen von verschiedenen Speicherstrukturen beschädigt werden, die für den SQL Server-Prozess ordnungsgemäß.

PROBLEMUMGEHUNG


Warnung Diese Problemumgehung kann ein Computer oder ein Netzwerk anfälliger für Angriffe durch böswillige Benutzer oder gefährlicher Software wie Viren machen. Wir empfehlen diese Problemumgehung nicht, stellen jedoch diese Informationen bereit, damit Sie diese Option nach eigenem Ermessen anwenden können. Verwenden Sie diese Problemumgehung auf eigene Verantwortung.

Führen Sie dazu folgende Schritte gegebenenfalls anlog aus.

  1. Identifizieren Sie das Modul in der SQL Server-Prozess geladen wird und das Problem verursacht.
  2. Führen Sie die folgenden Aktionen für das betreffende Modul:

    1. Konfigurieren Sie die Anwendung nicht auf bestimmte Module in den SQL Server-Prozess geladen.
    2. Hersteller des Moduls oder der Anwendung nach Updates suchen. Anwenden von Updates, die verfügbar sind.
    3. In einigen seltenen Fällen müssen Sie das Modul und die zugehörige Software Stabilität der SQL Server-Prozess und das System wiederherstellen zu entfernen.
    Hinweis In einigen Fällen müssen Sie diese Aktionen ausführen.

Weitere Informationen


Microsoft Customer Support Services (CSS) Team hat die folgenden Module identifiziert, die die Symptome verursachen, die im Abschnitt "Symptome" aufgeführt sind. Diese Liste wird aktualisiert, wie neue Probleme gefunden werden. Diese Liste dient dazu, den Prozess zu identifizieren, der im Abschnitt "Lösung" genannten. Dieser Prozess beinhaltet in der Regel die Auflistung eines iterativen Diagnose- und Daten für die Dauer des Problems.

Folgende Module kann Leistung und Stabilität, wenn sie in der SQL Server-Prozess geladen werden:
  • ENTAPI.DLL
    DATEI ENTAPI. DLL in den SQL Server-Prozess geladen wird, wenn Sie McAfee VirusScan Enterprise auf einem Server installieren, auf dem Microsoft SQL Server ausgeführt wird, und diese Software zum Überwachen von SQL Server konfigurieren. Wenn dieses Modul geladen wird, werden wichtige Win 32 APIs auch innerhalb des SQL Server umgeleitet. Wenn Sie bemerken, dass diese Unterrichtseinheit in SQL Server-Prozess geladen wird, konfigurieren Sie McAfee VirusScan Enterprise zu verhindern, dass SQL Server (Sqlservr.exe) verschiedene erweiterte Überwachung, wie Pufferüberlaufschutz.
  • HIPI.DLL, HcSQL.dll, HcApi.dll, HcThe.dll
    Diese DLL-Dateien werden bei der Installation von McAfee Host Intrusion Prevention-Software auf dem System mit SQL Server in der SQL Server-Prozess geladen. Wenn Sie bemerken, dass diese Unterrichtseinheit in SQL Server-Prozess geladen wird, konfigurieren Sie McAfee Host Intrusion Prevention SQL Server (Sqlservr.exe) aus der Überwachung ausschließen.
  • SOPHOS_DETOURED. DLL und SOPHOS_DETOURED_x64. DLL SWI_IFSLSP_64.dll
    Diese DLL-Dateien werden in der SQL Server-Prozess geladen, wenn Sie Sophos Antivirus-Programm auf einem Server installieren, auf dem SQL Server ausgeführt wird. Wenn Sie feststellen, dass dieses Modul im SQL Server-Prozess geladen wird, können Sie Registrierungsunterschlüssel Konfigurieren der AppInit_Dlls , um zu vermeiden, Laden dieses Modul in SQL Server-Prozess.
  • PIOLEDB. DLL und PISDK. DLL
    Diese DLL-Dateien werden in der SQL Server-Prozess geladen, wenn PI OLE DB-Provider verwenden, um Daten von einem PI-Server zuzugreifen oder Sie erweiterte gespeicherte Prozeduren verwenden, die PI-SDK. Wenn Sie feststellen, dass diese Module in der SQL Server-Prozess geladen werden, Hersteller dieser Module OleDb-Provider als Out-of-Process-Anbieter konfigurieren. Diese Konfiguration ermöglicht diese Module in den SQL Server-Prozess laden müssen.
Weitere Informationen wie Ausschlussrichtlinien für Sqlservr.exe der Anwendungssoftware, die in diesem Artikel erläutert wird, finden Sie im Produkthandbuch oder wenden Sie sich an den Softwarehersteller.

Die folgende Tabelle enthält weitere Informationen zu den Produkten und Tools, die für diese Bedingung in der SQL Server-Instanz und Versionen von SQL Server die Regel ausgewertet wird automatisch überprüft.

Regel-SoftwareRegel-TitelBeschreibungProduktversionen, die Regel ausgewertet wird
System Center AdvisorIn SQL Server, die Server Stabilitätsprobleme verursachen können geladene ModuleSystem Center Advisor bestimmt, ob der SQL Server-Prozess die Liste der in diesem Artikel erwähnten DLLs geladen. Überprüfen Sie die Informationen im Abschnitt "Daten" der Warnung Advisor und gestalten Sie erforderliche Konfiguration der beschriebenen im Artikel.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA)Windows API-Aufrufe abgefangenSQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) enthält eine Regel, um die Module unterstützen Pufferüberlaufschutz erkennen, die in SQL Server geladen werden. Wenn BPA ausführen, und Sie erhalten eine Warnung mit dem Titel "Engine - Windows-API-Aufrufe abgefangen," werden die Module Pufferüberlaufschutz unterstützen in SQL Server geladen. BPA erkennt anhand für alle Module, die Namen, der ähnelt "% entapi.dll%" als sys.dm_os_loaded_modules Dynamic Management View (DMV) gefunden.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012
SQL Server 2012 Best Practice Analyzer (BPA für SQL Server 2012)Windows API-Aufrufe abgefangenSQL Server 2012 BPA enthält eine Regel, um zu bestimmen, ob der SQL Server-Prozess die Liste der in diesem Artikel erwähnten DLLs geladen. Beim Ausführen BPA-Tool und eine Warnung angezeigt, die mit dem Titel "Engine - Windows-API-Aufrufe abgefangen" die Informationen der BPA-Anweisung "Problem" und ändern die erforderliche Konfiguration der beschriebenen im Artikel.SQL Server 2012

Die in diesem Artikel erörterten Produkte von Drittanbietern werden von Unternehmen hergestellt, die von Microsoft unabhängig sind. Microsoft übernimmt keine Garantie, weder konkludent noch anderweitig, für die Leistung oder Zuverlässigkeit dieser Produkte.

Die Informationen und die in diesem Dokument dar Sicht der Microsoft Corporation auf diese Probleme zum Zeitpunkt der Veröffentlichung. Diese Lösung ist verfügbar über Microsoft oder einem Drittanbieter. Microsoft empfiehlt nicht speziell Drittanbieter oder Drittanbieter-Lösung, die in diesem Artikel beschreiben könnte. Außerdem gibt es möglicherweise andere Drittanbieter oder Lösungen von Drittanbietern, die diesem Artikel nicht beschrieben werden. Da Microsoft zu reagieren muss, sollten diese Informationen nicht interpretiert werden als Verpflichtung von Microsoft. Microsoft kann die Genauigkeit von Informationen und Lösungen, die von Microsoft oder von erwähnten Drittanbieter angeboten werden, nicht garantieren oder unterstützen .

Microsoft übernimmt keine Gewährleistung und schließt jegliche Haftung, Garantien und Zusagen, ob ausdrücklich, konkludent oder gesetzlich aus. Dazu gehören unter anderem sind Darstellungen, Garantien oder Titel, nicht-Verletzung, zufriedenstellendem Zustand, Marktgängigkeit und Eignung für einen bestimmten Zweck, einen Dienst, Lösung, Produkt oder andere Materialien oder Informationen. In keinem Fall haftet Microsoft für Lösungen von Drittanbietern, die in diesem Artikel erwähnt werden.

Referenzen


Weitere Informationen zu den Supportrichtlinien von SQL Server finden Sie in den folgenden Artikel der Microsoft Knowledge Base zu:

Weitere Informationen zu den SQL Server-Prozess finden Sie in den folgenden Artikeln der Microsoft Knowledge Base zu:



198891 zum Ausführen von DLL-basierte COM-Objekt außerhalb des SQL Server-Prozesses
243428 Verschieben von erweiterten gespeicherten Prozeduren aus