Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Ihr Browser wird nicht unterstützt.

Sie müssen Ihren Browser aktualisieren, um die Website zu verwenden.

Aktualisieren Sie auf die neueste Version von Internet Explorer.

Umleitungen oder ähnliche Verfahren können unerwartete Verhaltensweisen mit SQL Server führen.

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 920925
Zusammenfassung
Microsoft Support hat zahlreiche Produkte von Drittanbietern festgestellt, die Umwege verwenden, um zusätzliche Funktionen zu Microsoft SQL Server bereitstellen. In der Regel sind diese Funktionen überwachen. Es gibt keinen Zertifizierungsprozess für Umleitungen für Microsoft-Anwendungen von Drittanbietern. Aus diesem Grund rät im Allgemeinen Microsoft dringend die Verwendung von Umwege.

Features, mit die Umwege oder ähnliche Verfahren verwenden, um das Verhalten von SQL Server zu ändern, möglicherweise die folgenden Probleme verursachen:
  • Performance-Probleme
  • Falsche Ergebnisse
  • Festplatten- und Korruption
  • Verlust der SQL Server-Antwort
  • Unerwarteter Prozessabbruch
  • Unfähigkeit, standard-Diagnose, z. B. die Funktion Fn_get_sql und den Befehl DBCC INPUTBUFFER verwenden
Bei Verwendung von nicht-Microsoft-Software, wie z. B. Verbindungsserver, erweiterte Prozeduren oder COM-Objekte innerhalb des SQL Server-Prozesses können Sie die gleichen Probleme auftreten. Umleitungen sind DBA ausgeblendet. Um einen Umweg aufdecken zu können, müssen Sie im Abschnitt "Weitere Informationen" die beschriebenen Techniken verwenden, die folgt. Verknüpfte Server, COM-Objekte und erweiterte Prozeduren haben explizite Registrierung und Schnittstellen definiert.

Hinweis Aufgrund der ausgeblendeten Art der Detours und den Mangel an veröffentlichte Schnittstellen bietet Microsoft keine Supportleistungen für Drittanbieter-Features, die Umwege oder ähnliche Verfahren verwenden. Der dritte ist verantwortlich für die Unterstützung von ihren eigenen Code genauso wie wäre es für eine eigene Verbindungsserver verantwortlich und andere sanktioniert Bereitstellung.

Es ist üblich, in den üblichen Verlauf der Problembehandlung für Microsoft Support Services, bitten Sie so deaktivieren Sie nicht benötigte Projekte, deaktivieren oder Entfernen von Komponenten von Drittanbietern und ähnlichen Techniken. Microsoft versucht immer der Speicherbedarf des Problems reduzieren, während sie das Problem identifiziert. Nachdem das Problem, als identifiziert wurde unabhängig von der Einzelvorgänge oder Produkten von Drittanbietern, die Aufträge oder Produkten von Drittanbietern eingeführt werden können in die Produktion.

Es ist nicht unsere Absicht, einen Umweg aufdecken und gehen Sie dann die Instanz von SQL Server nicht unterstützt werden. Microsoft bestätigt, dass einige Implementierungen notwendig sind. Microsoft erfordert jedoch die Unterstützung für die Umwege überprüfen. Eine Umleitung von einem seriösen und vertrauenswürdigen Unternehmen unterscheidet sich definitiv von einer unerwarteten Umleitung, die von einem Virus verwendet wird. Microsoft nicht rechtfertigen oder bestätigen diese Produkte von Drittanbietern oder Interaktion anderer Hersteller mit Produkten und Dienstleistungen. Stattdessen werden von Drittanbietern verantwortlich für die Identifizierung und Vertrauenswürdigkeit seiner Produkte und Dienste. Haben Sie Fragen zu Produkten von Drittanbietern und Services, bitte erreichen Sie die entsprechenden Drittanbieter. Microsoft ist nicht verantwortlich für alle Probleme, die durch die Verwendung von Drittanbieter-Produkte oder Dienstleistungen im Zusammenhang mit SQL Server verursacht werden.
Weitere Informationen
Umwege verfügen über erweiterte Funktionen und einen Kompromiss Risiko und Ertrag. Wenn eine Umleitung in SQL Server implementiert wird, wird in der Regel Code von Drittanbietern in den Prozessbereich eingefügt. Diese Aktivität kann das Verhalten von SQL Server ändern.

Es folgen einige Beispiel-Situationen und mögliche Nebeneffekte:
  • Eingehende Datenverkehr (TDS)-Netzwerkpakete werden überprüft und geändert. Die Umleitung wird in einer kritischen Lage an den Thread des Prozesses Net_readdata Netzwerk hinzugefügt. Sogar 100 CPU-Zyklen an dieser Stelle können Batch Rate Durchsatz erheblich reduziert.

    Eine Änderung in den tatsächlichen TDS-Daten kann zu Speicher Kritiker führen. Dieses Problem hat verschiedene SQL Server-Probleme ausgelöst und einer Beschädigung der Daten. Eine teilweise geändert werden und Wiedergeben von Müll zur SQL Server-TDS-Paket möglicherweise Probleme. Protokollierungsfunktionen auf dieser Ebene kann Kennwörter und andere vertraulichen Daten, SQL Server verfügbar machen Ablaufverfolgung zu unterdrücken und zu sichern soll.
  • Analysieren der SQL Server-Routinen werden einen, um Verhalten zu ändern. Im folgenden werden mögliche Nebenwirkungen:
    • Ausführungspläne entsprechen nicht den tatsächlichen Abfragetext.
    • Ein Befehl wird nur ein Mal vom Client übermittelt. Allerdings ist der Befehl mehrmals ausgeführt.
    • Ausgabe der Ablaufverfolgung zeigt den ursprünglichen Befehl anstelle der geänderten Abfrage.
    • Der DBCC INPUTBUFFER-Befehl zeigt den ursprünglichen Befehl anstelle der geänderten Abfrage.
    • Die Funktion Fn_get_sql werden falsche Daten angezeigt. Darüber hinaus ist die Funktion Fn_get_sql anfällig, auf Ausnahmen und zu falschen Ergebnissen. Die Funktion Fn_get_sql wird von viele Überwachungslösungen verwendet, und es könnten Probleme auf den Überwachungslösungen.
    • Insgesamt können User Mode Scheduler (UMS) und Planen von SQL Server-Betriebssystem (SQLOS) unterbrochen werden. Dies führt zum Verlust der SQL Server-Antwort, Leistungsänderungen und Ausfälle.
  • Win32-APIs, die erweiterte Sicherheitsfeatures bereitstellen werden einen. Abhängig von der Implementierung konnte auf dieser Ebene Protokollierungsfunktionen Kennwörter und andere vertraulichen Daten verfügbar machen. Insgesamt wird UMS und SQLOS Planung unterbrochen. Dies führt zum Verlust der SQL Server-Antwort und Ausfälle.
  • Ändern von Funktionstabellen und umleiten Kernfunktionen von SQL Server oder einer Windows-API werden innerhalb des SQL Server-Prozesses nicht unterstützt. Dies kann zu Systeminstabilität und unerwartetes Verhalten in der SQL Server-Funktionalität führen.
Das folgende Beispiel zeigt, dass die kernel32!GetQueuedCompletionStatus Funktion hat einen wurde.
MyDLL!MyGetQueuedCompletionStatusssnetlib!ConnectionReadAsyncWait
Die erste Anweisung wurde in der Assembly für die GetQueuedCompletionStatus -Funktion durch einen Sprungbefehl ersetzt.
0:038> u kernel32!GetQueuedCompletionStatuskernel32!GetQueuedCompletionStatus 77e660f1 e90a9f00aa      jmp     21e70000   ß  This points to an address that does not appear in the loaded module list (lm). It is injected code.77e660f6 83ec10          sub     esp,10h
Die Assembly für den eingefügten Code zeigt die detoured Aktivität und einen Aufruf in die eigene Datei.
0:038> u 21e70000  21e70000 55              push    ebp21e70001 8bec            mov     ebp,esp21e70003 51              push    ecx21e70004 8b4518          mov     eax,dword ptr [ebp+18h]21e70007 50              push    eax21e70008 8b4d14          mov     ecx,dword ptr [ebp+14h]21e7000b 51              push    ecx21e7000c 8b5510          mov     edx,dword ptr [ebp+10h]21e7000f 52              push    edx21e70010 8b450c          mov     eax,dword ptr [ebp+0Ch]21e70013 50              push    eax21e70014 8b4d08          mov     ecx,dword ptr [ebp+8]21e70017 51              push    ecx21e70018 e8234d19ee      call   MyDLL+0x4d40 (10004d40)   <- Call to the MyDLL file.21e7001d 8945fc          mov     dword ptr [ebp-4],eax21e70020 8b55fc          mov     edx,dword ptr [ebp-4]

Debugtools für Windows können Sie feststellen, ob Umleitungen verwendet werden. Gehen Sie hierzu folgendermaßen vor.

Hinweis Testen Sie diese Methode immer, bevor Sie es in der Produktion versuchen. Wenn Sie Debugtools für Windows verwenden, kann der Prozeß "Einfrieren" beim Ausführen der Befehle. Dieses Verhalten kann einen Produktionsserver beeinträchtigt werden.
  1. SQL Server-Debugging Tools for Windows anhängen, oder eine vollständige Speicherabbilddatei zu laden.
  2. Mit folgendem Befehl Debugger. Dieser Befehl überprüft jedes Bild gegen das Abbild auf dem Datenträger, um festzustellen, ob Umleitungen eingefügt wurde, wurden.
    !for_each_module "!chkimg -v @#Base -d"
  3. Den Debugger zu trennen.
Um Debugging Tools for Windows zu erhalten, gehen Sie zu der folgenden Microsoft-Website: Wenn das Bild im Speicher geändert wurde, kann die Ausgabe wie folgt aus:
Comparison image path: c:\program files\microsoft sql server\mssql\binn\ssnetlib.dll\ssnetlib.dllScanning section:    .textSize: 56488Range to scan: 0c261000-0c26eca80c263710-0c26371a  11 bytes - ssnetlib!ConnectionClose           	[ 8b ff 55 8b ec 83 ec 10:68 00 00 00 00 e9 27 8a ]0c2641e0-0c2641ea  11 bytes - ssnetlib!ConnectionReadAsync (+0xad0)	[ 8b ff 55 8b ec 83 ec 38:68 00 00 00 00 e9 00 7e ]0c265160-0c26516a  11 bytes - ssnetlib!ConnectionWriteAsync (+0xf80)	[ 8b ff 55 8b ec 83 ec 28:68 00 00 00 00 e9 ba 70 ]Total bytes compared: 56488(100%)Number of errors: 3333 errors : 0c260000 (0c263710-0c26516a)
Überprüfen Sie die Assembly genauer Untersuchung des Problems wie folgt aussehen:
0:038> u ssnetlib!ConnectionClosessnetlib!ConnectionClose]:0c263710 6800000000      push    00c263715 e9278ada03      jmp     MyDLL!MyGetQueuedCompletionStatus  <- A detour has been installed.

Antivirusprogramme, die SQL-Injection-Angriffe verfolgen können SQL Server Code Umweg. In diesem Szenario wird die Ausgabe der! For_each_module "! Chkimg - V @# Base -d" Erweiterung zeigt an, dass der SQL Server- Yyparse Funktionen und ex_raise2 werden geändert:

Comparison image path: <symbol file path>\sqlservr.exeRange to scan: c81000-3de7d48    ed71a8-ed71ad  6 bytes - sqlservr!yyparse [ ff f5 41 54 41 55:e9 c7 95 5c 76 90 ]1202820-1202824  5 bytes - sqlservr!ex_raise2 (+0x32b678) [ ff f3 57 41 54:e9 20 e0 29 76 ]Total bytes compared: 51801416(17%)Number of errors: 11

Es wird empfohlen, dass Sie bitten Sie den Anbieter der Detours oder ähnliche Verfahren für detaillierte Informationen darüber, wie sie die Umwege in SQL Server verwendet. Weitere Informationen über Umwege und ähnliche Verfahren finden Sie auf der folgenden Website von Microsoft Research Center:

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 920925 – Letzte Überarbeitung: 03/20/2015 19:17:00 – Revision: 4.0

  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
  • kbtshoot kbexpertiseadvanced kbinfo kbmt KB920925 KbMtde
Feedback
pendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> >>ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>");