Podczas łączenia się z SQL Server 2008 R2 z aplikacji klienckiej .NET 4 na innym serwerze w tej samej sieci LAN, można ustawić trzy różne protokoły sieciowe:
- TCP
- Nazwane potoki
- Nie ustawiaj niczego w ciągu połączenia i użyj domyślnego
Jaka jest najlepsza praktyka? Co wybrać
Informacje dodatkowe: Zarówno TCP, jak i Nazwane potoki są włączone zarówno na serwerze, jak i na kliencie. Aplikacja korzysta z kopii lustrzanej bazy danych. Klient i serwer komunikują się przez szybką sieć LAN.
Badamy to, ponieważ mamy rzadkie i fałszywe problemy z łącznością i przekroczeniem limitu czasu. (Ale niezależnie od tego chciałbym poznać najlepszą praktykę).
Istnieje artykuł na ten temat na MSDN, ale jest on bardzo ogólny i niejasny. Nie radzi ani nie poleca niczego przydatnego.
tcp:
lat później skonfigurowałem również jako część większości ciągów połączeń w środowisku innej firmy. Zakładam, że znaleźli podobne problemy.Odpowiedzi:
Wolę TCP / IP niż Nazwane potoki, chociaż w większości sytuacji nie będzie zauważalnej różnicy. Można to zrobić, dostosowując protokoły obsługiwane przez instancję w programie SQL Server Configuration Manager, a nie kodując na stałe parametry w łańcuchu połączenia (ułatwia to wprowadzanie zmian lub rozwiązywanie problemów).
Zasadniczo routing i inne koszty związane z nazwanymi potokami (chyba że aplikacje znajdują się na tym samym komputerze co SQL Server, w którym to przypadku jest tylko niewielki dodatkowy koszt) sprawiają, że jest to mniej wydajna opcja, szczególnie na dużą skalę, w wolniejszym środowisku sieciowym (100 MB lub mniej) lub jeśli obciążenia są wykonywane w seriach.
Jeśli Twoje aplikacje znajdują się w tym samym pudełku co SQL Server, powinieneś również pamiętać o pamięci współdzielonej - jeśli masz aplikacje w SQL Server bezpośrednio komunikujące się z SQL Server, będzie to najbardziej wydajna opcja.
Więcej informacji na temat zalet TCP / IP w zakresie wydajności .
źródło
Protokół Named Pipes jest przydatny w przypadku aplikacji zaprojektowanych w oparciu o NetBIOS lub inne protokoły oparte na sieci LAN.
Nazwane potoki zapewniają łatwy dostęp do zdalnych wywołań procedur (RPC) w ramach jednej domeny zabezpieczeń, a zatem są korzystne dla tych aplikacji.
Zwykle protokół TCP jest dobry w praktyce, ponieważ nie musisz się tym wszystkim przejmować w sieci.
źródło