Wenn Sie von einer .NET 4-Clientanwendung auf einem anderen Server im selben LAN eine Verbindung zu SQL Server 2008 R2 herstellen, können Sie drei verschiedene Netzwerkprotokolle festlegen:
- TCP
- Named Pipes
- Legen Sie nichts in der Verbindungszeichenfolge fest und verwenden Sie die Standardeinstellung
Was ist die beste Vorgehensweise? Was zu wählen?
Zusätzliche Informationen: Sowohl TCP als auch Named Pipes sind sowohl auf dem Server als auch auf dem Client aktiviert. Die Anwendung verwendet die Datenbankspiegelung. Client und Server kommunizieren über ein schnelles LAN.
Wir untersuchen dies, weil wir seltene und unechte Konnektivitäts- und Timeout-Probleme haben. (Unabhängig davon würde ich gerne die beste Vorgehensweise kennen).
Es gibt einen Artikel zu diesem Thema über MSDN, der jedoch sehr allgemein und vage ist. Es wird nichts Nützliches empfohlen oder empfohlen.
tcp:
Jahre später als Teil der meisten Verbindungszeichenfolgen in der Umgebung eines anderen Unternehmens konfiguriert. Ich gehe davon aus, dass sie ähnliche Probleme gefunden haben.Antworten:
Ich bevorzuge TCP / IP gegenüber Named Pipes, obwohl es in den meisten Situationen keinen merklichen Unterschied gibt. Sie können dies tun, indem Sie die von der Instanz in SQL Server Configuration Manager unterstützten Protokolle anpassen, anstatt die Elemente in Ihrer Verbindungszeichenfolge fest zu codieren (dies erleichtert das Vornehmen von Änderungen oder das Behandeln von Problemen).
Im Wesentlichen machen das Routing und andere mit Named Pipes verbundene Overheads (es sei denn, Ihre Apps befinden sich auf demselben Computer wie SQL Server. In diesem Fall entsteht nur ein geringer zusätzlicher Overhead) diese Option in einer langsameren Netzwerkumgebung zu einer weniger effizienten Option, insbesondere in skalierten Umgebungen (100 MB oder weniger), oder wenn Ihre Workloads in Stößen auftreten.
Wenn Ihre Anwendungen sind auf dem gleichen Feld wie SQL Server, sollten Sie auch Shared - Memory im Auge behalten - wenn Sie Anwendungen auf dem Feld SQL Server haben direkt die Kommunikation mit SQL Server, ist dies die effizienteste Option sein wird.
Sie können mehr über die Leistungsvorteile von TCP / IP erfahren .
quelle
Das Named Pipes-Protokoll ist nützlich für Anwendungen, die auf NetBIOS oder anderen LAN-basierten Protokollen basieren.
Named Pipes bietet einfachen Zugriff auf Remote Procedure Calls (RPC) innerhalb einer einzelnen Sicherheitsdomäne und ist daher für diese Anwendungen von Vorteil.
Normalerweise ist das TCP-Protokoll in der Praxis gut geeignet, da Sie sich nicht um all dies im Netzwerk kümmern müssen.
quelle