Problembehandlung bei verwaiste Verbindungen in SQL Server

Artikel-ID: 137983 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

Wenn eine Microsoft SQL Server-Client ein Server mit SQL Server die Verbindung trennt, sollten des Verbindungsprozesses oben auf der Serverseite gelöscht werden. Wenn die Verbindung Prozesse aus irgendeinem Grund deaktiviert sind, Sie werden zu "verwaisten" oder "ghost" Prozesse. Diese Prozesse können Sie wertvolle Ressourcen wie Sperren und Benutzerverbindungen. Verwaiste Prozesse in der Regel durch fehlerhafte Schließen von Clientanwendungen und Netzwerkprobleme verursacht werden, und die Gegenmaßnahmen in der Regel erforderlich Problembehandlung bei Client-Anwendungen und Fine-tuning-Netzwerkkonfigurationen.

Weitere Informationen

Beachten Sie beim Behandeln dieses Problems beachten:
  • SQL Server als Anwendung nicht und sollte nicht proaktiv die Clientverbindung um seinen aktuellen Status zu bestimmen untersuchen. Der unteren Ebene Inter-Process Communications (IPCs), z. B. named Pipes, IPX/SPX oder TCP/IP Sockets, sind für das Verwalten der Clientverbindungen verantwortlich.
  • Eine IPC hat in der Regel einen eigenen Mechanismus zur Verwaltung der Clientverbindungen. Wenn Clientverbindungen für eine bestimmte Zeitspanne nicht mehr reagiert werden, wird in der Regel der Windows NT Server-Computer entweder durch Senden der Überprüfungen "keep-alive" erkennen oder die Verbindung löschen, nachdem für eine konfigurierte Zeitspanne im Leerlauf befindet. Allerdings werden "Keep-alive" Pakete nicht standardmäßig von einer Anwendung gesendet. Die Anwendung muss diese Funktion auf seine Verbindungen aktivieren.
  • Unter bestimmten Situationen wie z. B. allgemeine Schutzverletzung Client kann der Client noch auf Server Überprüfungen reagieren, selbst wenn die Anwendung bereits deaktiviert ist. In diesem Fall kann der Windows NT Server-Computer dieser Clientverbindung nicht unbegrenzt, behalten, wenn der Client nicht heruntergefahren wird.
  • Wenn ein Windows NT Server-Computer keine inaktive Verbindung aus irgendeinem Grund schließen, wird SQL Server rightfully vorausgesetzt, diese Verbindung ist noch aktiv und daher nicht gelöscht es nach oben.
  • Der Windows NT Server-Computer hat die Verbindung erfolgreich geschlossen, aber der Clientprozess noch vorhanden ist auf dem SQL Server durch Sp_who, dann es liegt eventuell ein Problem mit SQL Server Verbindungsverwaltung. In diesem Fall sollten Sie mit Ihren primären Supportanbieter um dieses Problem zu beheben arbeiten.
Wenn Sie verwaiste Prozesse auf dem SQL Server vorhanden vermuten, sind die folgenden Schritte zur Problembehandlung:
  1. Identifizieren der verwaisten Prozesse mithilfe von Sp_who, welche Ihnen mitteilen kann, welche Anwendungen diese Prozesse über den Namen Host zugeordnet wurden.
  2. Nachdem Sie diese verwaisten Prozesse identifiziert haben, können Sie entweder ignoriert werden, wenn Sie keine Sperren oder viele Verbindungen verwenden, oder Sie mithilfe des SQL Server KILL-Befehls kill auswählen.
  3. Wenden Sie die Anwendungsbenutzer für jede fehlerhaften Prozeduren Anwendungen schließen, wie neu betriebsbereiten oder cold von Arbeitsstationen starten, ohne die Anwendungen zuerst beenden. Überprüfen, ob alle Verlauf von der Arbeitsstation wird instabil, z. B. eine allgemeine Schutzverletzung ist und so weiter. Korrigieren Sie die fehlerhafte Prozeduren oder Stabilitätsprobleme, sofern diese vorhanden sind.
  4. Überprüfen, ob die IPC-Sitzung noch aktiv auf der Windows NT Server, Computer, auf dem SQL Server ausgeführt wird. Je nach den IPCs verwenden, sind die Befehle unterschiedlich. Z. B. Wenn Sie named Pipes verwenden, der Befehl ist "NET SESSION" oder "NET FILES"; Wenn es sich um ein TCP/IP-sockets-Verbindung handelt, können Sie "NETSTAT" zum Anzeigen von aktiven TCP-Sitzungen; im Fall von IPX/SPX, müssen Sie möglicherweise den Systemmonitor zum der "Netzwerkverbindungen öffnen" überwachen "NWLink SPX" verwendet
  5. Wenn die IPC-Sitzungen auf dem Windows NT Server-Computer noch aktiv sind, ist es ganz normal für SQL Server diese Prozesse Verbindung beibehalten. Wenn Windows NT, die IPC-Sitzungen deaktiviert, wird SQL Server wird benachrichtigt und Deaktivieren der Verbindung Prozesse entsprechend. Sie können möglicherweise bestimmte Windows NT-Netzwerk-Parameter um den Zeitraum zu verkürzen, die Windows NT warten, bevor Sie inaktiven Sitzungen deaktivieren anpassen.

    Je nach den IPCs verwenden, sind die beteiligten Parameter sehr unterschiedliche erneut werden.Weitere Informationen finden Sie im folgenden zum Ändern dieser Registrierungseinstellungen entsprechend den unten aufgeführten, um den Artikel zum Ändern dieser Registrierungseinstellungen, die übereinstimmen unten erwähnten in der Microsoft Knowledge Base anzuzeigen: Artikel
    120642TCP/IP und NetBT-Konfigurationsparameter für Windows 2000 oder Windows NT
    99745NWLINK Registrierung Abstimmungsparameter
    • Named Pipes: Named Pipes sind im SMB (Server Message Block)-Schicht über andere Protokolle Transport wie TCP/IP, NetBEUI oder NWLink IPX/SPX implementiert. Eine dünne Schicht NetBIOS-Namens wird normalerweise zwischen den SMB und der Transportebene implementiert. Daher ist eine bequeme Möglichkeit anpassen wie lange ein nicht mehr reagiert Named Pipes Sitzung geschlossen wird gewartet werden soll, hat über die Keepalive-Parameter der entsprechenden NetBIOS-Schicht anpassen. Für TCP/IP, die NetBIOS-Schicht beteiligten NBT (NetBIOS über TCP) ist und des beteiligten Parameters SessionKeepAlive in den folgenden Registrierungsschlüssel:
               KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netbt\Parameters
           
      								
      ist das verwendete Protokoll NWlink IPX/SPX, die beteiligten Parameter sind KeepAliveCount und KeepAliveTimeout in den folgenden Registrierungsschlüssel:
               HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWNBLink\Parameters
           
      								
      Bitte beachten Sie, dass einige Implementierungen von Named Pipes über NWLink die NetBIOS-Schicht (DirectHosting) umgehen können, d. h. die oben genannten NWNBlink NetBIOS-Parameter nicht angewendet werden.
    • TCP/IP-Sockets: Windows NT Server sendet in regelmäßigen Abständen, "beschränken alive-Pakete auf Clients sowie Clients werden erwartet, dass Antworten. Wenn aus irgendeinem Grund der Client nicht auf diese Pakete reagiert, löscht Windows NT von TCP-Sitzung nach einer konfigurierten Anzahl von Wiederholungen. Die beteiligten Parameter sind KeepAliveInterval KeepAliveTime und TcpMaxDataRetransmissions in den folgenden Registrierungsschlüssel:
               HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
           
      								
    • IPX/SPX: Ähnlich wie TCP/IP, Windows NT Server in regelmäßigen Abständen um sendet "Keep alive"-Pakete und Clients reagieren. Windows NT löscht SPX-Verbindungen, wenn Antworten erhalten, nach dem Senden einer konfigurierten Anzahl von Paketen "keep-alive". Die beteiligten Parameter sind KeepAliveCount und KeepAliveTimeout in den folgenden Registrierungsschlüssel:
               HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NWLnkSPX\Parametes
           
      								
    Bitte beachten Sie, dass wenn die Parameter "keep-alive" für Ihre IPCs nie Timeouts konfiguriert sind, Windows NT die IPC-Sitzungen auf unbestimmte Zeit, beibehalten, selbst wenn die Clients vollständig heruntergefahren werden. In diesem Fall bleiben SQL Server diese Clientprozesse unbegrenzt sowie der erwartet wird.

    Weitere Informationen zu den Parametern finden Sie in Ihrer Windows NT-Dokumentation oder Windows NT Resource Kit. Wenn Sie vermuten, Ihren Windows NT Server-Computer nicht deaktivieren diese Sitzungen entsprechend auf die Konfigurationsparameter einrichten dass, können Sie Ihre primäre Windows NT kontaktieren support-Anbieter für Hilfe.
  6. Wenn die IPC-Sitzung auf dem Windows NT Server-Computer nicht mehr vorhanden, aber SQL Server noch Clientprozess hält wie Sp_who dargestellt, können Sie mithilfe des Befehls KILL bis der Prozess als temporäre Lösung deaktivieren und wenden Sie sich für weitere Unterstützung an Ihren primären Anbieter für die SQL Server-Support.
Weitere Informationen zu diesem Thema im Zusammenhang mit SQL Server 2000, finden Sie in das Thema "Verwaiste Sitzungen" in SQL Server-Onlinedokumentation.

Eigenschaften

Artikel-ID: 137983 - Geändert am: Donnerstag, 30. April 2009 - Version: 5.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 4.21a Standard Edition
  • Microsoft SQL Server 6.0 Standard Edition
  • Microsoft SQL Server 6.5 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Keywords: 
kbmt kbhowto kbinfo kbusage KB137983 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 137983
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns