Microsoft SQL Server bieten zwei Formen der Netzwerk-Kommunikation : TCP /IP und Named Pipes. Beide Protokolle erlauben eine externe Software sowohl lokal als auch remote auf die SQL Server -Instanz herstellen und Ausführen von Abfragen anzeigen, Einfügen und Löschen von Daten aus der SQL-Datenbanken . Beide Protokolle sind geeignet zur Übertragung von Daten, aber die Art und Weise , in der sie dies tun, ist unterschiedlich und sie sind in der Regel an unterschiedliche Umgebungen geeignet. Unterschiede
TCP /IP ist das Standard- Netzwerkprotokoll , das verwendet werden, um Daten von einem Host zu einem anderen zu senden. Das Protokoll ist in den meisten Netzwerk- Anwendungen und Dienste verwendet . In einer SQL -Server-Umgebung , wird der SQL-Dienst selbst " hören " auf einen bestimmten TCP-Port und reagieren auf alle Anfragen erhält er auf dem Port. Im Vergleich dazu Named Pipes verwenden Sie nicht den TCP-Stack , aber sie haben auf Anfragen von anderen Peers zu hören, wird dies durch eine Pipe-Adresse , die in dem Format ist getan "\\ \\. \\ Pipe \\ sql \\ query . "
Leistung
TCP nutzt verschiedene Methoden, um sicherzustellen , dass die Daten korrekt an den Remote-Host geliefert ; diese Methoden sicherzustellen, dass keine Daten fehlen geht und alle Pakete werden berücksichtigt. Windowing ist eines der Verfahren verwendet werden, um sicherzustellen, dass der empfangende Host nicht mit Daten überlastet und nur so viel , wie es ohne Überfluten zu verarbeiten. Named Pipes machen keinen Gebrauch von diesen Methoden , sofern sie über ein Netzwerk unterwegs sind. Auf einem lokalen Host , haben Named Pipes ihre eigenen Mechanismen für das Senden und Empfangen von Daten .
Client Software
Es gibt mehrere Fälle, in denen Named Pipes verwendet werden würde . Wenn ein SQL Server verwendet andere lokale Software mit den Datenbanken kommunizieren dann Named Pipes sind die ideale Lösung . Da Named Pipes ein völlig separater Dienst aus dem Netzwerk-Stack sind, werden sie nicht eine der Netzwerkbandbreite. Vor Ort werden Named Pipes extrem schnell und eine viel bessere Alternative als TCP /IP betrachtet.
Overhead
Auf einer sehr belebten Netzwerkschnittstelle , über TCP /IP wird setzen zusätzliche Last auf dem Netzwerk-Stack . Dies bedeutet, dass Anfragen haben könnte, um die Warteschlange gestellt werden , bevor sie vom Kernel gelesen werden kann , und entsprechend verarbeitet . Wenn Named Pipes über das Netzwerk verwendet werden jedoch fügen sie zusätzlichen Aufwand aufgrund der Tatsache, dass sie ihre eigenen Mechanismen für die Daten Anerkennung und Ablaufsteuerung. Diese zusätzliche belauscht können Netzüberlastung in langsameren Netzwerken verursachen.