Beheben von Konnektivitätsproblemen in SQL Server 2000

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 827422 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
827422 How to troubleshoot connectivity issues in SQL Server 2000
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel kann Sie bei der Behebung von Konnektivitätsproblemen mit Microsoft SQL Server 2000 unterstützen. Er beschreibt allgemeine Konnektivitätsprobleme und die Schritte, die Sie zur Behebung dieser Probleme durchführen können.
SQL Server 2000 unterstützt verschiedene Methoden der Kommunikation zwischen der Instanz von SQL Server und den Clientanwendungen. Wenn Ihre Clientanwendung und die Instanz von SQL Server auf demselben Computer liegen, werden Microsoft Windows-IPC-Komponenten (IPC = Interprocess Communication; prozessübergreifende Kommunikation) wie z. B. lokale Named Pipes oder das Shared Memory-Protokoll für die Kommunikation verwendet. Wenn jedoch die Clientanwendung und die Anwendung von SQL Server auf verschiedenen Computern liegen, wird eine Netzwerk-IPC wie z. B. TCP/IP oder Named Pipes für die Kommunikation verwendet.

SQL Server 2000 verwendet Net-Library, eine DLL, für die Kommunikation mit einem bestimmten Netzwerkprotokoll. Ein übereinstimmendes Paar von SQL Server-Netzwerkbibliotheken muss auf den Client- und Servercomputern aktiv sein, um das gewünschte Netzwerkprotokoll zu unterstützen. Um z. B. einer Clientanwendung die Kommunikation mit einer bestimmten Instanz von SQL Server über TCP/IP zu ermöglichen, muss die TCP/IP-Sockets-Client-Netzwerkbibliothek (Dbnetlib.dll) auf dem Clientcomputer so konfiguriert sein, dass sie eine Verbindung mit dem Server herstellt. Entsprechend muss die TCP/IP-Sockets-Server-Netzwerkbibliothek (Ssnetlib.dll) den Servercomputer überwachen. In diesem Szenario muss der TCP/IP-Protokollstack sowohl auf dem Clientcomputer als auch auf dem Servercomputer installiert sein.

Nach der Installation von SQL Server 2000 können Sie die Eigenschaften der Client-Netzwerkbibliotheken über die SQL Server-Clientkonfiguration konfigurieren. Die Eigenschaften der Server-Netzwerkbibliotheken können Sie über die SQL Server-Netzwerkkonfiguration (Svrnetcn.exe) konfigurieren. Die Server-Netzwerkbibliotheken werden bei der Installation der Server-Tools während des SQL Server Setup installiert. Manche der Server-Netzwerkbibliotheken sind jedoch möglicherweise nicht aktiv. Standardmäßig aktiviert und überwacht SQL Server 2000 TCP/IP, Names Pipes und Shared Memory. Damit ein Client eine Verbindung zu einem Servercomputer herstellen kann, muss er also die Verbindung über eine Client-Netzwerkbibliothek herstellen, die einer der Server-Netzwerkbibliotheken entspricht, die zu diesem Zeitpunkt von der Instanz von SQL Server verwendet werden.

Weitere Informationen zu SQL Server-Kommunikationskomponenten und Netzwerkbibliotheken finden Sie unter folgenden Themen in der SQL Server-Onlinedokumentation:
  • Kommunikationskomponenten
  • Client- und Server-Netzwerkbibliotheken
  • Verwalten von Clients

Beheben von Konnektivitätsproblemen

Die meisten Konnektivitätsprobleme, die in SQL Server 2000 auftreten können, sind auf Probleme mit TCP/IP, Windows-Authentifizierung oder eine Kombination aus TCP/IP und Windows-Authentifizierung zurückzuführen.

Wichtig Bevor Sie mit der Behandlung von Konnektivitätsproblemen in SQL Server 2000 beginnen, vergewissern Sie sich, dass der Dienst "MSSQLServer" auf dem SQL Server-Computer gestartet ist.

Überprüfen der DNS-Einstellungen

Die Namensauflösung im Domain Name System (DNS) wird dazu verwendet, die IP-Adresse in den Namen der Instanz von SQL Server aufzulösen. Wenn die Namensauflösung nicht richtig funktioniert, ist die Instanz von SQL Server nicht erreichbar, und es werden eine oder mehrere der folgenden Fehlermeldungen angezeigt:
SQL Server ist nicht vorhanden, oder der Zugriff wurde verweigert.
Allgemeiner Netzwerkfehler.
Der SSPI-Kontext kann nicht generiert werden.
Sie können per Ping-Befehl an den Server mit dem Servernamen und der IP-Adresse des Servers überprüfen, ob die Namensauflösung den richtigen Servernamen liefert. Gehen Sie hierzu folgendermaßen vor:
  1. Klicken Sie auf Start und anschließend auf Ausführen.
  2. Im Dialogfeld Ausführen geben Sie cmd im Feld Öffnen ein. Klicken Sie anschließend auf OK.
  3. Geben Sie an der Eingabeaufforderung folgenden Befehl ein:
    ping <Server Name>
    Notieren Sie die IP-Adresse, die zurückgegeben wird.
  4. Geben Sie an der Eingabeaufforderung folgenden Befehl ein (dabei steht IP address für die IP-Adresse, die Sie in Schritt 3 notiert haben):
    ping ?a <IP address>
Vergewissern Sie sich, dass der Befehl in den richtigen Servernamen aufgelöst wird. Wenn einer der angegebenen Befehle fehlschlägt, eine Zeitüberschreitung verursacht oder nicht die richtigen Werte zurückgibt, funktioniert der DNS-Lookup nicht richtig, oder das Problem tritt aufgrund anderer Netzwerk- oder Routingprobleme auf. Führen Sie den folgenden Befehl an einer Eingabeaufforderung aus, um Ihre aktuellen DNS-Einstellungen anzuzeigen:
ipconfig /all
Weitere Informationen zum Befehl "ipconfig" finden Sie in folgendem Artikel der Microsoft Knowledge Base:
223413 Optionen für das Befehlszeilenprogramm "Ipconfig.exe" in Windows 2000


Fügen Sie zur Umgehung dieses Problems einen Eintrag für den Server in der Datei "%systemroot%\system32\drivers\etc\hosts" auf dem Clientcomputer hinzu. Sie können das Problem auch umgehen, indem Sie die Verbindung zum Server über die Named Pipes-Netzwerkbibliothek herstellen.

Aktivierte Protokolle und Aliasnamen überprüfen

Konnektivitätsprobleme können auftreten, wenn der Alias auf dem Clientcomputer falsch eingestellt ist. Sie können die Aliasnamen mit der SQL Server-Clientkonfiguration anzeigen. Gehen Sie hierzu folgendermaßen vor:
  1. Starten Sie die SQL Server-Clientkonfiguration. Wenn die SQL Server-Clienttools auf dem Computer installiert sind, auf dem die Clientanwendung ausgeführt wird, gehen Sie folgendermaßen vor, um die SQL Server-Clientkonfiguration zu starten:
    1. Klicken Sie auf Start und zeigen Sie dann auf Programme.
    2. Zeigen Sie auf Microsoft SQL Server, und klicken Sie dann auf SQL Server-Clientkonfiguration.
    Wenn die SQL Server-Clienttools nicht auf dem Clientcomputer installiert sind, gehen Sie folgendermaßen vor, um die SQL Server-Clientkonfiguration zu starten:
    1. Klicken Sie auf Start und anschließend auf Ausführen.
    2. Im Dialogfeld Ausführen geben Sie cliconfg im Feld Öffnen ein. Klicken Sie anschließend auf OK.
  2. Klicken Sie im Fenster SQL Server-Clientkonfiguration auf die Registerkarte Allgemein, und aktivieren Sie alle gewünschten Protokolle.

    Hinweis: Sie müssen mindestens das TCP/IP-Protokoll und das Named Pipes-Protokoll aktivieren.
  3. Klicken Sie auf die Registerkarte Alias, und überprüfen Sie die Aliasnamen, die für die Instanz von SQL Server konfiguriert sind.
  4. Überprüfen Sie die Eigenschaften der Aliasnamen, um sicherzustellen, dass Servername oder IP-Adresse und das Protokoll richtig konfiguriert sind.
Sie können einen neuen Alias zum Testen der Konnektivität mit dem Servernamen, der IP-Adresse oder auch einem anderen Protokoll erstellen.

Hinweis: Frühere Versionen von Microsoft Data Access Components (MDAC) haben eine andere Benutzeroberfläche für die SQL Server-Clientkonfiguration. Wenn Sie also die in diesem Artikel genannten Optionen nicht angezeigt bekommen, installieren Sie eine höhere Version von MDAC auf dem Computer mit der Clientanwendung.

Überprüfen, ob die Instanz von SQL Server korrekt überwacht

Öffnen Sie die aktuelle SQL Server-Fehlerprotokolldatei, um sich zu vergewissern, dass die Instanz von SQL Server Named Pipes, TCP/IP oder sonstige Protokolle überwacht, die Sie in der Clientanwendung einsetzen. Die SQL Server-Fehlerprotokolldatei kann Einträge enthalten, die etwa so aussehen:
2003-11-06 09:49:36.17 server SQL server listening on TCP, Shared Memory, Named Pipes. 2003-11-06 09:49:36.17 server SQL server listening on 192.168.1.5:1433, 127.0.0.1:1433.


Durch Analyse der Einträge in der SQL Server-Fehlerprotokolldatei können Sie sicherstellen, dass die Instanz von SQL Server die richtige IP-Adresse und den richtigen Port überwacht. Standardmäßig überwacht eine Standardinstanz von SQL Server den Port 1433. Sie können auch die SQL Server-Netzwerkkonfiguration dazu verwenden, die Protokolleinstellungen für SQL Server zu überprüfen und die Eigenschaften in SQL Server zu ändern, einschließlich der Protokolle, die eine Verbindung zu SQL Server herstellen können, und der verwendbaren Ports. Weitere Informationen zur SQL Server-Serverkonfiguration finden Sie in der SQL Server-Onlinedokumentation unter dem Thema "SQL Server-Netzwerkkonfiguration".

Es kann vorkommen, dass SQL Server 2000 sich nicht an Port 1433 oder einen sonstigen angegebenen Port bindet. Dieses Problem kann auftreten, wenn der Port von einer anderen Anwendung verwendet wird oder Sie versuchen, die Verbindung über eine falsche IP-Adresse herzustellen. Deshalb können die TCP/IP-Verbindungen zu SQL Server fehlschlagen, und die folgende Fehlermeldung wird in der SQL Server-Fehlerprotokolldatei angezeigt:
2001-11-14 15:49:14.12 server SuperSocket Info: Bind failed on TCP port 1433.
Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:
307197 PRB: TCP\IP port in use by another application


Wenn Sie über eine TCP/IP-Verbindung keine Verbindung zur Instanz von SQL Server herstellen können, versuchen Sie es mit dem Named Pipes-Protokoll oder Shared Memory-Protokoll. Führen Sie folgenden Befehl an einer Eingabeaufforderung aus, um Informationen über die in Verwendung befindlichen Ports zu erhalten:
NETSTAT -an
Diese Informationen erhalten Sie auch mit dem Befehlszeilenprogramm "Portqry".

Weitere Informationen über das Befehlszeilenprogramm "Portqry" finden Sie in folgendem Artikel der Microsoft Knowledge Base:
310099 Beschreibung des Befehlszeilenprogramms Portqry.exe
Weitere Informationen zu einem möglichen Fehler im Zusammenhang mit TCP/IP-Sockets finden Sie in folgendem Artikel der Microsoft Knowledge Base:
306865 BUG: SQL Server may not listen on TCP/IP sockets When TCP/IP is the only protocol


Hinweis: Bei benannten Instanzen von SQL Server ermittelt SQL Server den Port dynamisch und überwacht diesen Port. Wenn Sie also die benannte Instanz von SQL Server starten, versucht SQL Server, den zuvor verwendeten Port zu überwachen. Wenn SQL Server sich nicht an diesen Port binden kann, bindet sich die benannte Instanz eventuell dynamisch an einen anderen Port. Stellen Sie in dieser Situation sicher, dass die Clientanwendung ebenfalls für die dynamische Ermittlung des Ports eingerichtet ist. Alternativ können Sie auch einen statischen Port angeben, an den die benannte Instanz sich binden kann, und der über die SQL Server-Clientkonfiguration überwacht werden kann.

Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base:
286303 INF: Behavior of SQL Server 2000 network library during dynamic port detection
823938 How to use static and dynamic port allocation in SQL Server 2000

Beheben von MDAC-Problemen

Konnektivitätsprobleme können auch auf Probleme mit MDAC zurückzuführen sein. Beispielsweise kann eine Softwareinstallation einige der MDAC-Dateien überschreiben oder die Berechtigungen ändern, die Sie für den Zugriff auf die MDAC-Dateien benötigen. Mit der MDAC-Komponentenüberprüfung können Sie die MDAC-Installation auf Ihrem Computer überprüfen.

Weitere Informationen dazu, wie Sie Ihre MDAC-Version ermitteln, finden Sie in folgendem Artikel der Microsoft Knowledge Base:
301202 SO WIRD'S GEMACHT: Ermitteln der MDAC-Version

Hinweis: Wenn Sie eine Verbindung zu einer benannten Instanz von SQL Server herstellen, vergewissern Sie sich, dass MDAC 2.6 oder eine höhere Version auf Ihrem Computer installiert ist. Frühere Versionen von MDAC erkennen benannte Instanzen von SQL Server nicht. Deshalb können Verbindungen zu benannten Instanzen fehlschlagen.

Mit dem Dienstprogramm "Odbcping.exe" können Sie Verbindungen über den SQL Server ODBC-Treiber überprüfen.

Weitere Informationen zu Odbcping.exe finden Sie in folgendem Artikel der Microsoft Knowledge Base:
138541 HOW TO: Odbcping.exe to verify ODBC connectivity to SQL Server
Weitere Informationen zum Konfigurieren von ODBC-DSNs finden Sie in folgendem Artikel der Microsoft Knowledge Base:
289573 PRB: Configuring DSNs with SQL Server Net-Libraries

Sie können die Verbindung zur Instanz von SQL Server auch über eine .udl-Datei testen.

Weitere Informationen zur Erstellung einer .udl-Datei finden Sie in folgendem Artikel der Microsoft Knowledge Base:
244659 SAMPLE: How to create a data link file with Windows 2000

Beheben von Firewallproblemen

Wenn sich zwischen dem Clientcomputer und dem SQL Server-Computer eine Firewall befindet, stellen Sie sicher, dass die Ports geöffnet sind, die für die Kommunikation durch die Firewall benötigt werden.

Weitere Informationen zu den Ports, die für die Kommunikation durch eine Firewall geöffnet sein müssen, finden Sie in folgenden Artikeln der Microsoft Knowledge Base:
287932 INF: Erforderliche TCP-Ports für Kommunikation mit einem SQL Server durch eine Firewall
269882 SO WIRD'S GEMACHT: ADO für die Verbindung mit einem SQL-Server hinter einer Firewall nutzen


Wenn Sie die Verbindung zur Instanz von SQL Server über das TCP/IP-Protokoll herstellen, stellen Sie sicher, dass Sie mit dem Telnet-Programm eine Verbindung zu dem Port herstellen können, den SQL Server überwacht. Führen Sie den folgenden Befehl an einer Eingabeaufforderung aus, um das Telnet-Programm verwenden:
Telnet <IP Address> <Port Number>
Wenn das Telnet-Programm fehlschlägt und eine Fehlermeldung angezeigt wird, beheben Sie den Fehler und versuchen Sie erneut, die Verbindung herzustellen.

Hinweis: Aufgrund von Problemen, die durch den Slammer-Virus verursacht wurden, kann es sein, dass der UDP-Port 1434 (UDP = User Datagram Protocol) auf Ihrer Firewall gesperrt ist.

Beheben von Authentifizierungs- und Sicherheitsproblemen

Verbindungen zu SQL Server können aufgrund von Authentifizierungsfehlern scheitern. Wenn die Authentifizierung fehlschlägt, kann eine der folgenden Fehlermeldungen angezeigt werden:
Fehler bei der Anmeldung für den Benutzer '<Benutzername>'
Fehler bei der Anmeldung für den Benutzer 'NTAUTHORITY\ANONYMOUS LOGON'
Fehler bei der Anmeldung für den Benutzer 'null'
Wenn eine Fehlermeldung aufgrund eines Authentifizierungsfehlers angezeigt wird und keinen bestimmten SQL Server-Anmeldenamen enthält, beheben Sie das Problem über die Windows-Authentifizierung. Bei Problemen mit der Windows-Authentifizierung kann folgende Fehlermeldung angezeigt werden:
Der SSPI-Kontext kann nicht generiert werden.
Die folgenden Probleme können zu Authentifizierungs- und Sicherheitsproblemen führen:
  • Es treten Probleme mit der NTLM- oder Kerberos-Authentifizierung auf.
  • Aufgrund von Konnektivitätsproblemen kann keine Verbindung zum Domänencontroller hergestellt werden.
  • Es treten Probleme im Zusammenhang mit domänenübergreifenden Vertrauensstellungen auf.
Weitere Informationen zu möglichen Ursachen finden Sie in den Ereignisprotokollen auf Ihrem Computer. Sie können die SQL Server-Authentifizierung zur Herstellung einer Verbindung zur Instanz von SQL Server verwenden, um Konnektivitätsprobleme mit der Windows-Authentifizierung zu umgehen. Weitere Informationen zur Behandlung und Behebung des Fehlers "Der SSPI-Kontext kann nicht generiert werden" finden Sie in folgendem Artikel der Microsoft Knowledge Base:
811889 How to troubleshoot the "Cannot generate SSPI context" error message
Wenn die Verbindung bei Verwendung der SQL Server-Authentifizierung fehlschlägt, wird folgende Fehlermeldung angezeigt:
Fehler bei der Anmeldung für den Benutzer '<Benutzername>' . Keiner vertrauten SQL Server-Verbindung zugeordnet.

Gehen Sie folgendermaßen vor, um dieses Problem zu beheben.

Warnung: Die unkorrekte Verwendung des Registrierungseditors kann schwerwiegende Probleme verursachen, die das gesamte System betreffen und eine Neuinstallierung des Betriebssystems erforderlich machen. Microsoft kann nicht garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungseditors herrühren, behoben werden können. Benutzen Sie den Registrierungseditor auf eigene Verantwortung.
  1. Stellen Sie sicher, dass die Instanz von SQL Server für die Windows- und SQL Server-Authentifizierung konfiguriert ist. Vergewissern Sie sich dazu, dass die folgenden Registrierungsschlüssel auf dem SQL Server-Computer vorhanden sind. Für die Standardinstanz von SQL Server:
    HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\MSSQLServer\LoginMode
    Für die benannte Instanz von SQL Server:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\<Instance Name>\MSSQLServer\LoginMode
    Vergewissern Sie sich, dass die folgenden Registrierungsschlüssel die angegebenen Werteinträge haben:
    Tabelle minimierenTabelle vergrößern
    AuthentifizierungstypWert
    Windows authentication only1
    Mixed mode (SQL Server Authentication and Windows authentication)2

    Hinweis: Wenn Sie die Registrierung ändern, müssen Sie die Instanz von SQL Server beenden und wieder neu starten, damit die Änderungen wirksam werden.
  2. Versuchen Sie, eine Verbindung zur Instanz von SQL Server herzustellen, indem Sie verschiedene Windows-Konten oder SQL Server-Anmeldekonten verwenden. So können Sie herausfinden, ob die Verbindung fehlschlägt, weil es Probleme mit einem bestimmten Anmeldekonto gibt. Beispielsweise kann das Kennwort des Anmeldekontos geändert worden sein.
  3. Versuchen Sie, die Verbindung zur Instanz von SQL Server über verschiedene Protokolle herzustellen. Es kann z. B. sein, dass die Verbindungen fehlschlagen, die das TCP/IP-Protokoll mit Windows-Authentifizierung verwenden, jedoch die Verbindungen funktionieren, die das Named Pipes-Protokoll mit Windows-Authentifizierung verwenden.
Wenn Sie Zertifikate verwenden, kann beim Versuch, eine Verbindung zur Instanz von SQL Server herzustellen, eine SSL-Fehlermeldung angezeigt werden. Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
316898 HOW TO: Enable SSL encryption for SQL Server 2000 with Microsoft Management Console
322144 FIX: SECDoClientHandShake cannot connect to SQL Server


Problembehandlung bei Belastung von TCP/IP-Sockets

Wenn Sie den SQL Server-ODBC-Treiber, den Microsoft OLE DB Provider für SQL Server oder den Managed Provider "System.Data.SqlClient" verwenden, können Sie das Verbindungspooling über die entsprechenden APIs (Application Programming Interfaces (APIs) deaktivieren. Wenn Sie das Verbindungspooling deaktivieren und Ihre Anwendung häufig Verbindungen öffnet und schließt, kann die Beanspruchung der zu Grunde liegenden SQL Server-Netzwerkbibliothek zunehmen. Manchmal versuchen eventuell auch die Webserver und die JDBC-Treiber, eine Verbindung zur Instanz von SQL Server herzustellen. Deshalb ist die Zunahme der Verbindungsanforderungen an SQL Server durch SQL Server möglicherweise nicht mehr zu bewältigen. Das bedeutet Belastung für die TCP/IP-Sockets, und es wird möglicherweise die folgende Fehlermeldung angezeigt:
2003-08-07 20:46:21.11 Server Fehler: 17832, Schweregrad: 20, State: 6
2003-08-07 20:46:21.11 Server Verbindung wurde hergestellt, aber es wurden ungültige Anmeldungspakete gesendet. Die Verbindung wurde geschlossen.


Weitere Informationen finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
154628 INF: SQL logs 17832 with multiple TCP\IP connection requests
328476 TCP/IP settings for SQL Server drivers when pooling is disabled


Hinweis: Sie bemerken die Belastung der TCP/IP-Sockets möglicherweise nicht, wenn Sie mit SQL Server 2000 SP3 oder SQL Server 2000 SP3a arbeiten, da hier eine Begrenzung der Anzahl der Anmeldungspakete hinzugefügt wurde. Der Fehler 17832 tritt auf, wenn Sie Treiber von Fremdanbietern verwenden, um eine Verbindung zur Instanz von SQL Server herzustellen. Um dieses Problem zu beheben, setzen Sie sich mit dem Fremdanbieter in Verbindung und besorgen Sie sich Treiber, die darauf getestet wurden, ob sie mit SQL Server 2000 SP3 und SQL Server 2000 SP3a funktionieren.

Überprüfen, ob Instanz von SQL Server im Einzelbenutzermodus gestartet wurde

Wenn die Instanz von SQL Server, zu der Sie eine Verbindung herstellen möchten, im Einzelbenutzermodus gestartet wird, kann nur eine Verbindung mit SQL Server hergestellt werden. Wenn auf Ihrem Computer Software installiert ist, die automatisch eine Verbindung zu SQL Server herstellt, kann die Software einfach diese eine Verbindung verwenden. Beispielsweise kann die folgende Software automatisch eine Verbindung zur Instanz von SQL Server herstellen:
  • SQL Server-Agent
  • Sicherungssoftware eines Fremdanbieters
  • Überwachungssoftware eines Fremdanbieters
  • Antivirussoftware eines Fremdanbieters
  • Microsoft Internet Information Services (IIS)
  • SQL Server Enterprise Manager
Die Clientanwendung, die versucht, eine Verbindung zur Instanz von SQL Server herzustellen, empfängt die folgende Fehlermeldung:
SQL Server ist nicht vorhanden, oder der Zugriff wurde verweigert.
Dieser Fehler tritt in der Regel während des SQL Cluster Setup und Service Pack Setup auf, wenn der Setup-Prozess die Instanz von SQL Server im Einzelbenutzermodus startet. Die angegebenen Anwendungen stellen eventuell automatisch eine Verbindung zu SQL Server über die einzige verfügbare Verbindung her, und der Setup-Vorgang schlägt fehl.

Um zu ermitteln, ob die Instanz von SQL Server im Einzelbenutzermodus gestartet wurde, überprüfen Sie, ob die SQL Server-Fehlerprotokolldatei einen Eintrag enthält, der etwa so aussieht:
2003-07-31 11:26:43.79 spid3 Warning ******************
2003-07-31 11:26:43.80 spid3 SQL Server wurde im Einzelbenutzermodus gestartet.

Named Pipes-Konnektivität mit SQL Server überprüfen

Wenn Sie über Named Pipes keine Verbindung zur Instanz von SQL Server herstellen können, stellen Sie sicher, dass die Instanz so konfiguriert ist, dass sie Named Pipes-Verbindungen annimmt. Weitere Informationen zur Vorgehensweise für das Testen von Named Pipes finden Sie in folgendem Artikel der Microsoft Knowledge Base:
68941 INF: Procedure for testing named pipes

Problembehandlung bei Verbindungen, bei denen es während des Wiederherstellungsvorgangs zu einer Zeitüberschreitung kommt

Bei jedem Starten einer Instanz von SQL Server stellt SQL Server die einzelnen Datenbanken wieder her. Während dieses Wiederherstellungsvorgangs führt SQL Server einen Rollback für die Transaktionen durch, für die kein Commit stattgefunden hat. Außerdem führt SQL Server einen Rollforward für die Transaktionen durch, für die ein Commit stattgefunden hat, sowie für die beim Beenden der Instanz von SQL Server nicht auf die Festplatte geschriebenen Änderungen. Wenn der Wiederherstellungsvorgang abgeschlossen ist, wird die folgende Meldung in der SQL Server-Fehlerprotokolldatei verzeichnet:
Wiederherstellung abgeschlossen
Während der Wiederherstellung nimmt SQL Server möglicherweise keine Verbindungen an. Clients, die während dieser Zeit versuchen, eine Verbindung zur Instanz von SQL Server herzustellen, erhalten möglicherweise eine Fehlermeldung, die etwa so aussieht:
Timeout abgelaufen
Der SQL Server-Agent-Dienst wird möglicherweise nicht gestartet, da er darauf wartet, dass SQL Server die Datenbanken wiederherstellt. Wenn also in der SQL Server-Fehlerprotokolldatei die folgende Meldung angezeigt wird, scheitern die Verbindungen nicht mehr mit einem Timeoutfehler:
Wiederherstellung abgeschlossen
Wenn die Wiederherstellung lange dauert, müssen Sie eventuell zusätzlich eine Problembehandlung für den Wiederherstellungsvorgang durchführen.

Testen verschiedener Möglichkeiten zur Herstellung einer Verbindung zur Instanz von SQL Server

Wenn beim Versuch, eine Verbindung zur Instanz von SQL Server herzustellen, Konnektivitätsprobleme auftreten, können Sie eine oder mehrere der folgende Methoden anwenden, um das Problem zu umgehen.
  • Testen Sie die Verbindungen zur Instanz von SQL Server sowohl mit der SQL Server-Authentifizierung als auch mit der Windows-Authentifizierung.
  • Testen Sie die Verbindungen zur Instanz von SQL Server aus anderen Datenquellen, z. B. ODBC-DSN, .udl-Datei, SQL Query Analyzer, SQL Server Enterprise Manager, Dienstprogramm "isql" oder "osql".
  • Testen Sie die Verbindungen zur Instanz von SQL Server über verschiedene Protokolle. Sie können verschiedene Protokolle angeben, indem Sie einen neuen Alias für die Instanz von SQL Server angeben, die dieses Protokoll verwendet. Sie können das Protokoll auch in Ihrer Verbindungszeichenfolge angeben, indem Sie am Anfang des Namens der Instanz von SQL Server tcp:, np:, lpc: oder rpc: hinzufügen. Wenn beispielsweise TCP/IP-Verbindungen fehlschlagen, ist das bei Named Pipes-Verbindungen möglicherweise nicht der Fall.
  • Testen Sie die Verbindungen mit einem anderen Anmeldekonto, um herauszufinden, ob das Problem mit einem bestimmten Anmeldekonto zusammenhängt.
  • Versuchen Sie, einen Eintrag zur Datei "%systemroot%\system32\drivers\etc\hosts" hinzuzufügen, der der IP-Adresse des Computers mit der Instanz von SQL Server entspricht.
  • Versuchen Sie, vom SQL Server-Computer und vom Client eine Verbindung zur Instanz von SQL Server herzustellen.
  • Wenn Sie die Verbindung vom SQL Server-Computer aus herstellen, können Sie "." oder "(local)" (ohne Anführungsstriche) anstelle des Servernamens angeben und dann die Verbindung herstellen.
  • Versuchen Sie, die Verbindung zur Instanz von SQL Server über die IP-Adresse anstelle des Servernamens herzustellen.
  • Versuchen Sie, den Port anzugeben, den die Instanz von SQL Server überwacht, entweder durch Erstellen eines Alias oder durch Hinzufügen einer Portnummer zur Verbindungszeichenfolge (z. B. MeinServer\MeineInstanz, 1433).

Aufzeichnen von Netzwerkmonitor-Ablaufverfolgungen

Wenn das Konnektivitätsproblem durch die im Abschnitt "Testen verschiedener Möglichkeiten zur Herstellung einer Verbindung zur Instanz von SQL Server" beschriebenen Schritte nicht behoben wird, zeichnen Sie mit dem Netzwerkmonitor-Programm Netzwerk-Ablaufverfolgungen auf. Weitere Informationen zur Netzwerk-Ablaufverfolgung finden Sie in folgenden Artikeln der Microsoft Knowledge Base:
148942 Aufzeichnen von Netzverkehr mit dem Netzwerkmonitor

294818 Frequently asked questions about Network Monitor

169292 Grundlegende Informationen über das Lesen von TCP/IP-Ablaufverfolgungen

102908 So behandeln Sie TCP/IP-Konnektivitätsprobleme unter Windows NT


Für detaillierte Informationen benötigen Sie eventuell SQL Profiler-Ablaufverfolgungen. Bei nicht geclusterten Computern mit SQL Server können Sie auch das Netzwerkdiagnosetool für die Netzwerk-Ablaufverfolgung verwenden. Weitere Informationen zur Verwendung des Netzwerkdiagnosetools finden Sie in folgendem Artikel der Microsoft Knowledge Base:
321708 SO WIRD'S GEMACHT: Das Netzwerkdiagnosetool (Netdiag.exe) in Windows 2000 verwenden

Informationsquellen

Weitere Informationen zu verschiedenen Konnektivitätsproblemen im Zusammenhang mit SQL Server finden Sie in den folgenden Artikeln der Microsoft Knowledge Base:
812817 Support WebCast: Microsoft SQL Server 2000: Troubleshooting connectivity
319930 SO WIRD'S GEMACHT: Verbinden mit der Microsoft Desktop Engine (MSDE)
257434 INF: Network library in existing DSN replaced by network library in new DSN to the same SQL Server name
306985 RPC errors when connecting a cluster virtual server with named pipes
313062 SO WIRD'S GEMACHT: Herstellen einer Verbindung mit einer Datenbank mit Active Server Pages in Windows 2000
313295 HOW TO: Use the server name parameter in a connection string to specify the client network library
320728 HOW TO: Resolve "The maximum connection limit has been reached" error message
328306 INF: Mögliche Ursachen für die Fehlermeldung "SQL Server ist nicht vorhanden, oder der Zugriff wurde verweigert"
247931 INF: Authentifizierungsmethoden für SQL Server-Verbindungen in Active Server Pages
169377 Zugreifen auf SQL Server in Active Server Pages
328383 INF: SQL Server clients may change protocols when they try to connect
238949 HOWTO: Set the SQL Server network library in an ADO connection string
270126 PRB: How to manage client connectivity to both SQL Server 2000 virtual servers after an active/active cluster 7.0 upgrade
316779 PRB: Clients with Force Protocol Encryption set on may fail to connect with an IP address
216643 INF: ODBC/OLEDB connect options not seen when tracing connections to SQL Server 7.0
265808 INF: How to connect to an SQL Server 2000 named instance with the previous version's client tools
191572 INFO: Connection pool management by ADO objects called from ASP
313173 Sample connection pool manager for use with Microsoft SQL Server 2000 driver for JDBC
237844 HOWTO: Enable ODBC connection pooling in a Visual Basic ADO application
259569 PRB: Installing third-party product breaks Windows 2000 MDAC registry settings

Eigenschaften

Artikel-ID: 827422 - Geändert am: Montag, 29. November 2004 - Version: 3.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Standard Edition
Keywords: 
kbhowto kbsqlclient kbdll kbclientserver kbclient kbdns kberrmsg kbtshoot kbregistry KB827422
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

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com