Umwege oder ähnliche Verfahren unerwartete Verhalten verursacht möglicherweise mit SQL Server

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 verfügt über zahlreiche Produkte gefunden, die Umwege verwenden Microsoft SQL Server zusätzliche Funktionen bereitstellen. Normalerweise sind diese Funktionen überwachen. Gibt keine Zertifizierungsstellen von Drittanbietern Umwege für Microsoft Applications. Daher rät im Allgemeinen Microsoft die Verwendung von Umwege.

Features, die Umwege oder ähnliche Verfahren zur Änderung von SQL Server möglicherweise die folgenden Probleme:
  • Performance-Probleme
  • Falsche Ergebnisse
  • Beschädigung der Festplatte und Speicher
  • Verlust der SQL Server-Antwort
  • Unerwarteter Prozessabbruch
  • Nicht standardmäßige Diagnose Funktion Fn_get_sql wie den Befehl DBCC INPUTBUFFER
  • 100 % CPU-Auslastung und lange Datenbank Wiederherstellungszeiten bei OLTP-Tabellen im Arbeitsspeicher in SQL Server verwenden
Bei Verwendung von Fremdanbieter-Software wie Verbindungsserver, erweiterte Prozeduren oder COM-Objekte innerhalb des SQL Server-Prozesses können Sie die gleichen Probleme auftreten. Umwege sind DBA ausgeblendet. Um ein Gebiet zu entdecken erforderlich beschriebenen Techniken im Abschnitt "Weitere Informationen", die folgt. Verbindungsserver, COM-Objekte und erweiterte Prozeduren explizite Registrierung und Schnittstellen definiert.

Hinweis Ausgeblendete Art Umwege und mangelnde veröffentlichte Schnittstellen bietet Microsoft keine Supportdienste für Drittanbieter-Features, die Umwege oder ähnliche Verfahren verwenden. Drittanbieter ist verantwortlich für die Unterstützung der eigenen Code wäre verantwortlich für eigene Verbindungsserver oder andere sanktioniert Bereitstellung.

Es ist allgemein üblich, den üblichen Verlauf der Problembehandlung für Microsoft Support Services aufgefordert, deaktivieren Sie nicht benötigte Projekte, deaktivieren oder Entfernen von Komponenten und ähnlichen Verfahren. Microsoft versucht immer, das Problem beim Identifizieren des Problems reduzieren. Identifizierte Problem als unabhängige Projekte oder Herstellern, die Aufträge oder Herstellern eingeführt werden in die Produktion.

Es ist nicht unsere Absicht Gebiet und betrachten die Instanz von SQL Server nicht unterstützt werden. Microsoft bestätigt, dass einige Implementierungen notwendig sind. Microsoft erfordert jedoch die Unterstützung der Abstecher zu überprüfen. Umleitung von seriösen und vertrauenswürdigen Unternehmen unterscheidet definitiv eine unerwartete Umweg durch einen Virus verwendet wird. Microsoft nicht rechtfertigen oder bestätigen diese Produkte oder Interaktion anderer Hersteller mit Produkten und Dienstleistungen. Stattdessen werden von Drittanbietern zur Identifizierung und Zuverlässigkeit von Produkten und Services verantwortlich. Haben Sie Fragen über Drittanbieter-Produkte und Dienstleistungen, wenden Sie sich an den entsprechenden Drittanbieter. Microsoft ist nicht verantwortlich für Probleme, die durch die Verwendung von Drittanbieter-Produkte oder Dienstleistungen im Zusammenhang mit SQL Server verursacht werden.
Weitere Informationen
Umwege bieten erweiterte Funktionen und Risiko/Kompromiss. In der Regel bei der Implementierung einer Umleitung in SQL Server ist Drittanbietercode Prozessbereich injiziert. Diese Aktivität kann das Verhalten von SQL Server ändern.

Es folgen einige Beispiel-Situationen und Nebenwirkungen:
  • Eingehende Netzwerkpakete Datenverkehr (TDS) gescannt und geändert. Das Gebiet wird eine kritische Lage der Prozessthread Net_readdata Netzwerk hinzugefügt. Sogar 100 CPU-Zyklen an dieser Stelle können Batch Rate Durchsatz erheblich reduziert.

    Ändert die TDS Daten führen zu schreiberlinge Speicher. Dieses Problem hat verschiedene SQL Server-Problemen ausgelöst und Datenverlusten. TDS-Paket teilweise geändert werden und Wiedergeben von Müll SQL Server möglicherweise Probleme. Funktionen dieser Ebene für die Protokollierung kann Kennwörter und andere vertraulichen Daten, SQL Server aussetzen Tracing unterdrücken und schützen soll.
  • SQL Server analysieren Routinen werden umgeleitet, um Verhalten zu ändern. Die folgenden sind Nebenwirkungen:
    • Ausführungspläne entsprechen nicht den tatsächlichen Text.
    • Ein Befehl wird nur ein Mal vom Client gesendet. Allerdings ist der Befehl mehrmals ausgeführt.
    • Ablaufverfolgungsausgabe zeigt den ursprünglichen Befehl anstelle der geänderten Abfrage.
    • Der Befehl DBCC INPUTBUFFER zeigt den ursprünglichen Befehl anstelle der geänderten Abfrage.
    • Die Funktion Fn_get_sql zeigt falsche Daten. Darüber hinaus ist die Funktion Fn_get_sql anfällig für Ausnahmen und falsche Ergebnisse. Die Funktion Fn_get_sql viele Überwachung Lösungen verwendet und Überwachung Lösungen Probleme verursachen.
    • Insgesamt werden User Mode Scheduler (UMS) und Planen von SQL Server Operating System (SQLOS) unterbrochen. Dies führt zum Verlust der SQL Server-Antwort, Leistungsfähigkeit ändert und Ausfälle.
  • Win32-APIs, die erweiterte Sicherheitsfunktionen werden umgeleitet. Je nach der Implementierung können Protokollierungsfunktionen Ebene Kennwörter und andere vertraulichen Daten verfügbar machen. Insgesamt UMS und Planung SQLOS unterbrochen. Dies führt zum Verlust der SQL Server-Antwort und Ausfälle.
  • Funktion Tabellen ändern und umleiten Kernfunktionen für SQL Server oder einer Windows-API werden innerhalb des SQL Server-Prozesses nicht unterstützt. Dies kann in der SQL Server-Instabilität zu unerwartetem Verhalten führen.
Das folgende Beispiel zeigt, dass kernel32! GetQueuedCompletionStatus Funktion umgeleitet wurde.
MyDLL!MyGetQueuedCompletionStatusssnetlib!ConnectionReadAsyncWait
Die erste Anweisung wurde in der Assembly für die GetQueuedCompletionStatus -Funktion mit einem 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 umgeleitet 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 ermitteln, ob Umwege verwendet werden. Gehen Sie hierzu folgendermaßen vor:

Hinweis Testen Sie diese Methode immer, bevor in der Produktion versuchen. Wenn Sie Debugtools für Windows verwenden, kann der Prozess beim Ausführen der Befehle fixieren. Dies kann einen Produktionsserver beeinträchtigen.
  1. SQL Server-Debugging Tools for Windows zuordnen Sie, oder Laden Sie eine vollständige Speicherabbilddatei.
  2. Mit folgendem Befehl Debugger. Dieser Befehl überprüft jedes Bild das Abbild auf dem Datenträger zu bestimmen, ob Umwege eingefügt wurde.
    !for_each_module "!chkimg -v @#Base -d"
  3. Trennen Sie den Debugger.
Debugtools für Windows zu erhalten, gehen Sie auf der folgenden Microsoft-Website: Wenn das Bild im Speicher geändert wurde, kann die Ausgabe folgendermaßen aussehen:
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)
Sie können die Assembly, die das Problem wie folgt genauer überprüfen:
0:038> u ssnetlib!ConnectionClosessnetlib!ConnectionClose]:0c263710 6800000000      push    00c263715 e9278ada03      jmp     MyDLL!MyGetQueuedCompletionStatus  <- A detour has been installed.

Antivirus-Programme, die SQL-Injection-Angriffe können SQL Server Code Umweg. In diesem Szenario 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

Wir empfehlen, wenden Sie sich an die Umwege oder ähnliche Informationen wie 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: 08/31/2016 15:19:00 – Revision: 5.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, Microsoft 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