Auswählen eines Netzwerkprotokolls

Zum Herstellen einer Verbindung mit SQL Server Database Engine (Datenbankmodul) muss ein Netzwerkprotokoll aktiviert sein. Microsoft SQL Server kann Anforderungen an mehreren Protokollen gleichzeitig bearbeiten. Clients stellen eine Verbindung mit SQL Server über ein einzelnes Protokoll her. Wenn dem Clientprogramm nicht bekannt ist, auf welches Protokoll von SQL Server gelauscht wird, konfigurieren Sie den Client so, dass er nacheinander das Verwenden mehrerer Protokolle versucht. Verwenden Sie den SQL Server-Konfigurations-Manager, um Netzwerkprotokolle zu aktivieren, zu deaktivieren oder zu konfigurieren.

Shared Memory

Shared Memory ist das am einfachsten zu verwendende Protokoll. Es weist keine konfigurierbaren Einstellungen auf. Da Clients, die das Shared Memory-Protokoll verwenden, nur eine Verbindung mit einer Instanz von SQL Server herstellen können, die auf demselben Computer ausgeführt wird, ist dieses Protokoll bei den meisten Datenbankaktivitäten nicht hilfreich. Verwenden Sie das Shared Memory-Protokoll zur Problembehandlung, wenn Sie vermuten, dass die anderen Protokolle nicht ordnungsgemäß konfiguriert sind.

HinweisHinweis

Clients mit MDAC 2.8 oder früher können das Shared Memory-Protokoll nicht verwenden. Beim Versuch, das Protokoll aufzurufen, wird automatisch auf das Named Pipes-Protokoll umgeschaltet.

TCP/IP

TCP/IP ist ein Protokoll, das im Internet häufig verwendet wird. Es kommuniziert über untereinander verbundene Computernetzwerke mit unterschiedlichen Hardwarearchitekturen und verschiedenen Betriebssystemen. TCP/IP schließt Standards zum Weiterleiten von Netzwerkverkehr ein und bietet erweiterte Sicherheitsfunktionen. Es ist das heute in der Geschäftswelt am häufigsten verwendete Protokoll. Das Konfigurieren des Computers für die Verwendung von TCP/IP kann ein komplexer Vorgang sein, allerdings sind die meisten Netzwerkcomputer bereits ordnungsgemäß konfiguriert. Weitere Informationen zum Konfigurieren der TCP/IP-Einstellungen, die nicht im SQL Server-Konfigurations-Manager verfügbar sind, finden Sie in der Microsoft Windows-Dokumentation.

Named Pipes

Named Pipes ist ein Protokoll, das für lokale Netzwerke entwickelt wurde. Ein Teil des Arbeitsspeichers wird von einem Vorgang zum Weiterleiten von Informationen an einen anderen Vorgang verwendet, sodass die Ausgabe des einen Vorgangs der Eingabe des anderen entspricht. Der zweite Prozess kann ein lokaler (auf demselben Computer wie der erste) oder ein Remoteprozess (auf einem Computer im Netzwerk) sein.

VIA

Das VIA-Protokoll (Virtual Interface Adapter) wird mit VIA-Hardware verwendet. Weitere Informationen zum Verwenden von VIA erhalten Sie beim Hardwarehersteller.

Wichtiger HinweisWichtig

Das VIA-Protokoll ist veraltet. Diese Funktion wird in zukünftigen Versionen von Microsoft SQL Server nicht mehr bereitgestellt. Verwenden Sie diese Funktion beim Entwickeln neuer Anwendungen nicht, und planen Sie das Ändern von Anwendungen, in denen es zurzeit verwendet wird.

Named Pipes im Vergleich zu TCP/IP-Sockets

In einer schnellen LAN-Umgebung (Local Area Network) sind TCP/IP-Sockets (Transmission Control Protocol/Internet Protocol) und Named Pipes-Clients hinsichtlich der Leistung vergleichbar. Der Leistungsunterschied zwischen TCP/IP-Sockets und Named Pipes-Clients wird jedoch in langsameren Netzwerken, wie z. B. WANs oder Einwählverbindungen, deutlich. Ursache hierfür sind die Unterschiede in der prozessübergreifenden Kommunikation (Interprocess Communication, IPC) zwischen Peers.

Für Named Pipes ist die Netzwerkkommunikation normalerweise überwiegend interaktiv. Ein Peer sendet keine Daten, bevor ein anderer Peer sie mithilfe eines Lesebefehls anfordert. Zu einem Netzwerklesevorgang gehört normalerweise vor Beginn des Lesens der Daten das kurze Einsehen zahlreicher Named Pipes-Nachrichten. Dies kann in einem langsamen Netzwerk sehr teuer sein und übermäßigen Netzwerkverkehr verursachen, was sich wiederum auf andere Netzwerkclients auswirkt.

Darüber hinaus sollte geklärt werden, ob die Kommunikation über lokale Pipes oder Netzwerkpipes stattfindet. Wenn die Serveranwendung lokal auf dem Computer mit einer Instanz von SQL Server ausgeführt wird, bietet sich das Verwenden des lokalen Named Pipes-Protokolls an. Lokale Named Pipes-Protokolle werden im Kernelmodus ausgeführt und sind sehr schnell.

Für TCP/IP-Sockets sind Datenübertragungen geradliniger und mit weniger Verwaltungsaufwand verbunden. Datenübertragungen können auch von Mechanismen zur TCP/IP-Socketleistungserweiterung, wie beispielsweise Windowing, verzögerten Bestätigungen usw. profitieren. Dies kann in einem langsamen Netzwerk sehr hilfreich sein. Abhängig vom Anwendungstyp können diese Leistungsunterschiede sehr deutlich sein.

TCP/IP-Sockets unterstützen zudem eine Backlogwarteschlange. Dadurch kann im Vergleich zu Named Pipes, die aufgrund von ausgelasteten Pipes zu Fehlern beim Verbindungsversuch mit SQL Server führen können, ein begrenzter Glättungseffekt erreicht werden.

Im Allgemeinen wird TCP/IP in einem langsamen LAN, WAN oder DFÜ-Netzwerk bevorzugt. Wenn die Netzwerkgeschwindigkeit keine Rolle spielt, stellen Named Pipes hingegen häufig die bessere Wahl dar, da sie mehr Funktionalität, größere Benutzerfreundlichkeit und mehr Konfigurationsoptionen bieten.

Aktivieren des Protokolls

Das Protokoll muss sowohl auf dem Client als auch dem Server aktiviert sein. Der Server kann gleichzeitig auf alle aktivierten Protokolle auf Anforderungen lauschen. Clientcomputer können ein Protokoll auswählen oder das Verwenden der Protokolle in der Reihenfolge versuchen, wie sie im SQL Server-Konfigurations-Manager angegeben sind.

HinweisHinweis

In Microsoft SQL Server werden die Netzwerkprotokolle Banyan VINES Sequenced Packet Protocol (SPP), Multiprotocol, AppleTalk und NWLink IPX/SPX nicht unterstützt. Clients, die zuvor Verbindungen mit diesen Protokollen hergestellt haben, müssen zum Herstellen der Verbindung mit SQL Server ein anderes Protokoll auswählen.

Sie finden ein kurzes Lernprogramm zum Konfigurieren von Protokollen und zum Herstellen einer Verbindung mit Database Engine (Datenbankmodul) unter Lernprogramm: Erste Schritte mit dem Datenbankmodul.