SQL Server-Browser-Dienst

Aktualisiert: 14. April 2006

Das SQL Server-Browser-Programm wird als Windows-Dienst ausgeführt. Von SQL Server-Browser werden eingehende Anforderungen nach Microsoft SQL Server-Ressourcen überwacht und Informationen zu SQL Server-Instanzen zur Verfügung gestellt, die auf dem Computer installiert sind. Der SQL Server-Browser trägt zu den folgenden Aktionen bei:

  • Durchsuchen einer Liste verfügbarer Server
  • Herstellen einer Verbindung mit der richtigen Serverinstanz
  • Herstellen einer Verbindung mit den Endpunkten einer dedizierten Administratorverbindung (DAC, dedicated administrator connection)

Der SQL Server-Browser-Dienst (sqlbrowser) stellt für jede Instanz von Datenbankmodul und SSAS den Instanzennamen und die Versionsnummer bereit. SQL Server-Browser ist in Microsoft SQL Server 2005 installiert und stellt diesen Dienst für frühere Versionen von SQL Server ab Microsoft SQL Server 7.0 bereit, die auf dem betreffenden Computer ausgeführt werden.

Der SQL Server-Browser kann während Setup oder mithilfe des Oberflächen-Konfigurationstools konfiguriert werden. Die Verwaltung ist über den SQL Server-Konfigurations-Manager möglich. Das standardmäßige Starten des SQL Server-Browser-Diensts erfolgt in den folgenden Situationen:

  • Beim Durchführen eines Installationsupdates.
  • Bei gleichzeitigen Installationen mit einer Instanz von SQL Server 2000.
  • Beim Installieren auf einem Cluster.
  • Beim Installieren einer benannten Instanz von SQL Server 2005 Enterprise Edition, Standard Edition oder Workgroup Edition.
  • Beim Installieren einer benannten Instanz von Analysis Services.

Hintergrund

Vor Microsoft SQL Server 2000 konnte lediglich eine Instanz von SQL Server auf einem Computer installiert werden. SQL Server überwachte eingehende Anforderungen an Anschluss 1433, der SQL Server durch die Internet Assigned Numbers Authority (IANA) zugewiesen wurde. Da ein Anschluss nur von einer SQL Server-Instanz verwendet werden kann, wurde das SQL Server Resolution Protocol (SSRP) für die Überwachung des UDP-Anschlusses 1434 entwickelt, als in SQL Server 2000 die Unterstützung für mehrere SQL Server-Instanzen eingeführt wurde. Dieser Listenerdienst reagierte mit den Namen aller installierten Instanzen und den von der Instanz verwendeten Anschlüssen bzw. benannten Pipes. Um Einschränkungen des SSRP-Systems zu lösen, wurde der SQL Server-Browser-Dienst in SQL Server 2005 als Ersatz für SSRP eingeführt.

Funktionsweise von SQL Server-Browser

Wenn die Protokolle TCP/IP oder VIA für SQL Server aktiviert sind und eine Instanz von SQL Server gestartet wird, wird dem Server ein TCP/IP-Anschluss zugewiesen. Wenn das Named Pipes-Protokoll aktiviert ist, überwacht SQL Server eine spezielle benannte Pipe. Dieser Anschluss oder "Pipe" wird von der betreffenden Instanz zum Datenaustausch mit Clientanwendungen verwendet. Bei der Installation werden der TCP-Anschluss 1433 und die Pipe \sql\query der Standardinstanz zugewiesen, sie können jedoch zu einem späteren Zeitpunkt vom Serveradministrator mit dem SQL Server-Konfigurations-Manager geändert werden. Da ein Anschluss oder eine Pipe von nur jeweils einer Instanz von SQL Server verwendet werden kann, werden den benannten Instanzen einschließlich SQL Server Express unterschiedliche Anschlussnummern und Pipenamen zugewiesen. Wenn diese Funktion aktiviert ist, werden die beiden benannten Instanzen und SQL Server Express standardmäßig für die Verwendung dynamischer Anschlüsse konfiguriert, sodass beim Starten von SQL Server ein verfügbarer Anschluss zugewiesen wird. Bei Bedarf kann einer Instanz von SQL Server ein bestimmter Anschluss zugewiesen werden. Beim Verbindungsaufbau können Clients einen bestimmten Anschluss angeben. Wenn der Anschluss jedoch dynamisch zugewiesen wird, kann sich die Anschlussnummer bei jedem Neustart von SQL Server ändern, sodass die richtige Anschlussnummer dem Client unbekannt bleibt.

Beim Starten beansprucht der SQL Server-Browser UDP-Anschluss 1434. Der SQL Server-Browser liest die Registrierung, identifiziert alle Instanzen von SQL Server auf dem Computer und notiert die verwendeten Anschlüsse und benannten Pipes. Wenn ein Server über zwei oder mehr Netzwerkkarten verfügt, gibt der SQL Server-Browser den ersten gefundenen aktivierten Anschluss für SQL Server zurück. SQL Server 2005 und der SQL Server-Browser unterstützen ipv6 und ipv4.

Wenn SQL Server 2000- und SQL Server 2005-Clients SQL Server-Ressouren auf einer benannten Instanz anfordern, sendet die Clientnetzwerkbibliothek über den Port 1434 eine UDP-Nachricht an den Server. Der SQL Server-Browser antwortet mit dem TCP/IP-Port oder der Named Pipe der angeforderten Instanz. Anschließend wird die Verbindung durch die Netzwerkbibliothek der Clientanwendung beendet, indem über den Anschluss oder die benannte Pipe der gewünschten Instanz eine Anforderung an den Server gesendet wird.

Informationen über das Starten und Beenden des SQL Server-Browser-Dienstes finden Sie unter "Vorgehensweise: Starten und Beenden des SQL Server-Browser-Dienstes" in der SQL Server-Onlinedokumentation.

Verwenden von SQL Server-Browser

Wenn der SQL Server-Browser-Dienst nicht ausgeführt wird, können Sie dennoch eine Verbindung mit SQL Server herstellen, wenn Sie die richtige Anschlussnummer bzw. die richtig benannte Pipe angeben. Sie können beispielsweise über TCP/IP eine Verbindung mit der Standardinstanz von SQL Server herstellen, wenn sie an Anschluss 1433 ausgeführt wird.

Wird der SQL Server-Browser-Dienst jedoch nicht ausgeführt, sind die folgenden Verbindungen nicht funktionsfähig:

  • Ein Verbindungsversuch einer beliebigen Komponente mit einer benannten Instanz ohne Angabe aller Parameter (z. B. des TCP/IP-Anschlusses oder der benannten Pipe).
  • Das Generieren oder Übergeben von Server- oder Instanzeninformationen, die später von anderen Komponenten für erneute Verbindungen verwendet werden können.
  • Verbindung mit einer benannten Instanz ohne Angabe der Anschlussnummer oder der Pipe.
  • Eine DAC mit einer benannten Instanz oder der Standardinstanz, wenn der TCP/IP-Anschluss 1434 nicht verwendet wird.
  • Der OLAP-Redirectordienst.
  • Aufzählen von Servern in SQL Server Management Studio, Enterprise Manager oder Query Analyzer.

Wenn Sie SQL Server in einem Client-zu-Server-Szenario verwenden (z. B. wenn die Anwendung über ein Netzwerk auf SQL Server zugreift) und Sie den SQL Server-Browser-Dienst anhalten oder deaktivieren, müssen Sie jeder Instanz eine bestimmte Anschlussnummer zuweisen und den Code der Clientanwendung so schreiben, dass immer dieser Anschluss verwendet wird. Dieser Ansatz birgt folgende Probleme:

  • Sie müssen den Code der Clientanwendung aktualisieren und überarbeiten, um sicherzustellen, dass eine Verbindung mit dem richtigen Anschluss hergestellt wird.
  • Die Anschlüsse, die Sie für die einzelnen Instanzen auswählen, können auf dem Server durch andere Dienste oder Anwendungen verwendet werden, sodass die Instanz von SQL Server nicht verfügbar ist.

Gleichzeitige Installation mit SQL Server 2000

In SQL Server 2000 erfolgt die Identifikation der Endpunkte der Serververbindung über den SQL Server-Dienst. In SQL Server 2005 wird diese Funktion durch den SQL Server-Browser-Dienst ersetzt. Wenn Sie SQL Server auf einem Computer installieren, auf dem ebenfalls SQL Server 2000 oder MSDE ausgeführt wird, muss sichergestellt sein, dass SQL Server 2000 oder MSDE auf Service Pack 3a (SP3a) oder höher aktualisiert ist. In Versionen vor SP3a wird Port 1434 nicht ordnungsgemäß freigegeben, und die Instanzen von SQL Server stehen für Anforderungen von Clientanwendungen möglicherweise nicht zur Verfügung. Es besteht zwar die Möglichkeit, die Startreihenfolge des Dienstes zu ändern, sodass der SQL Server-Browser-Dienst vor SQL Server 2000 oder MSDE gestartet wird, es wird jedoch empfohlen, alle früheren Versionen von SQL Server auf das neueste Service Pack zu aktualisieren.

Wenn eine Instanz von SQL Server 2000, die nicht auf das neueste Service Pack 3a aktualisiert ist, auf dem Computer installiert ist und der SQL Server-Browser nicht ausgeführt wird, wird der SQL Server 2000-Listenerdienst gestartet. Wenn SQL Server-Browser nach dem Listenerdienst gestartet wird, wartet er 5 Sekunden auf die Freigabe des Anschlusses 1434 durch SQL Server 2000. Sollte die Freigabe nicht erfolgen, kann SQL Server-Browser nicht gestartet werden. Zur Behebung dieses Problems in Versionen von SQL Server 2000 vor Service Pack 3a beenden Sie SQL Server 2000, starten Sie den SQL Server-Browser, und starten Sie SQL Server 2000 dann neu. Da der SQL Server 2000-Listenerdienst weiterhin versucht, an Port 1434 zu starten, sollte die Instanz von SQL Server 2000 so bald wie möglich auf Service Pack 3a aktualisiert werden.

SQL Server 7.0 verfügt nicht über vergleichbare Funktionen, und es gibt keine Konflikte mit dem SQL Server-Browser.

Clustering

Beim SQL Server-Browser handelt es sich nicht um eine gruppierte Ressource, und ein Failover von einem Clusterknoten auf einen anderen wird nicht unterstützt. In einem Cluster sollte der SQL Server-Browser deshalb auf jedem Knoten des Clusters installiert und aktiviert werden. In Clustern überwacht SQL Server-Browser IP_ANY.

ms181087.note(de-de,SQL.90).gifHinweis:
Wenn Sie bei der Überwachung von IP_ANY die Überwachung bestimmter IP-Adressen aktivieren, muss der Benutzer für jede IP-Adresse den gleichen TCP-Anschluss konfigurieren, da der SQL Server-Browser die erste gefundene Kombination aus IP-Adresse und Anschluss zurückgibt.

Installieren, Deinstallieren und Ausführen über die Befehlszeile

Das SQL Server-Browser-Programm wird standardmäßig im Ordner C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe installiert. Wenn SQL Server 2000 auf dem Computer installiert ist, aber keine Aktualisierung auf Service Pack 3 vorgenommen wurde und die SQL Server 2000-Instanz nicht aktualisiert wird, sollte SQL Server 2000 während der Installation von SQL Server 2005 beendet sein. Wenn SQL Server 2000 ausgeführt wird, kann SQL Server-Browser nicht starten und Anschluss 1434 beanspruchen. In diesem Fall ist die Installation möglicherweise aufgrund fehlender Konnektivität fehlerhaft.

Der SQL Server-Browser-Dienst wird deinstalliert, wenn die letzte Instanz von SQL Server 2005 entfernt wird. Instanzen von SQL Server 2000 setzen ihr ursprüngliches Verhalten fort.

Der SQL Server-Browser kann zur Problembehandlung mit dem Schalter -c von der Eingabeaufforderung aus gestartet werden.

<drive>\<path>\sqlbrowser.exe -c

Sicherheit

Kontoberechtigungen

Der SQL Server-Browser überwacht einen UDP-Anschluss und akzeptiert nicht authentifizierte Anforderungen mithilfe von SSRP (SQL Server Resolution Protocol). SQL Server-Browser sollte im Sicherheitskontext eines Benutzers mit geringen Zugriffsrechten ausgeführt werden, um die Anfälligkeit gegenüber böswilligen Angriffen zu verringern. Das Anmeldekonto kann mithilfe des SQL Server-Konfigurations-Managers geändert werden. Für den SQL Server-Browser gelten die folgenden Mindestbenutzerrechte:

  • Zugriff vom Netzwerk auf diesen Computer verweigern
  • Lokal anmelden verweigern
  • Anmelden als Batchauftrag verweigern
  • Anmelden über Terminaldienste verweigern
  • Anmelden als Dienst
  • Lesen und Schreiben der SQL Server Registrierungsschlüssel, die sich auf die Netzwerkkommunikation beziehen (Anschlüsse und Pipes)

Standardkonto

Bei Setup wird die Verwendung des für die SQL Server Dienste ausgewählten Kontos konfiguriert. Weitere mögliche Konten sind u. a. die Folgenden:

  • Beliebige lokale Domänenkonten
  • Das Konto Lokaler Dienst (auf W2K-Plattformen nicht verfügbar)
  • Das Konto Lokales System (wird nicht empfohlen, da es über unnötige Berechtigungen verfügt)

Ausblenden von SQL Server

Bei ausgeblendeten Instanzen handelt es sich um Instanzen von SQL Server, die nur Verbindungen im freigegebenen Speicherbereich unterstützen. Legen Sie für SQL Server 2005 das Flag HideInstance fest, um anzugeben, dass SQL Server-Browser nicht mit Informationen zu dieser Serverinstanz reagieren soll. SQL Server-Browser unterstützt darüber hinaus die SQL Server 2000-Methode zum Ausblenden von Instanzen, in der die Option HideServer über die Server-Netzwerkkonfiguration festgelegt wird. Informationen zum Konfigurieren der Option HideServer finden Sie unter "Vorgehensweise: Ausblenden einer Instanz des SQL Server-Datenbankmoduls" in der SQL Server-Onlinedokumentation.

Verwenden einer Firewall

Für die Kommunikation mit dem SQL Server-Browser-Dienst auf einem Server, auf dem eine Firewall verwendet wird, öffnen Sie neben dem von SQL Server verwendeten Anschluss (z. B. 1433) den UDP-Anschluss 1434. Informationen zum Umgang mit einer Firewall finden Sie unter "Vorgehensweise: Konfigurieren einer Firewall für SQL Server-Zugriff" in der SQL Server-Onlinedokumentation.

Änderungsverlauf

Version Verlauf

14. April 2006

Geänderter Inhalt:
  • Verdeutlichung des Abschnitts "Verwenden des SQL Server-Browsers" durch den Hinweis, dass sich die Liste aus Verbindungstypen zusammensetzt, die den SQL Server-Browser-Dienst benötigen.

05. Dezember 2005

Geänderter Inhalt:
  • Liste überarbeitet, die beschreibt, wann der SQL Server Browser-Dienst automatisch gestartet wird.