При подключении к SQL Server 2008 R2 из клиентского приложения .NET 4 на другом сервере в той же локальной сети можно установить три разных сетевых протокола:
- TCP
- Именованные трубы
- Не устанавливайте ничего в строке подключения и используйте значение по умолчанию
Что такое лучшая практика? Что выбрать?
Дополнительная информация: как TCP, так и именованные каналы включены как на сервере, так и на клиенте. Приложение использует зеркальное отображение базы данных. Клиент и сервер общаются через быструю локальную сеть.
Мы исследуем это, потому что у нас есть редкие и ложные проблемы с подключением и временем ожидания. (Но независимо от этого я хотел бы знать лучшие практики).
На MSDN есть статья на эту тему, но она очень общая и расплывчатая. Он не советует и не рекомендует ничего полезного.
tcp:
Несколько лет спустя я обнаружил, что настроен как часть большинства строк подключения в среде другой компании. Я предполагаю, что они нашли похожие проблемы.Ответы:
Я предпочитаю TCP / IP вместо именованных каналов, хотя в большинстве случаев не будет заметной разницы. Это можно сделать, изменив протоколы, поддерживаемые экземпляром в диспетчере конфигурации SQL Server, а не жестко кодируя вещи в строке подключения (это упрощает внесение изменений или устранение неполадок).
По сути, маршрутизация и другие издержки, связанные с именованными каналами (если только ваши приложения не находятся на том же компьютере, что и SQL Server, в этом случае есть только небольшая дополнительная нагрузка), делают его менее эффективным вариантом, особенно в масштабе, в более медленной сетевой среде. (100 МБ или меньше), или если ваши рабочие нагрузки приходят в пакетах.
Если ваши приложения находятся в одном блоке с SQL Server, вы также должны помнить о совместной памяти - если у вас есть приложения на блоке SQL Server, напрямую взаимодействующие с SQL Server, это будет наиболее эффективный вариант.
Подробнее о преимуществах TCP / IP вы можете прочитать подробнее .
источник
Протокол Named Pipes полезен для приложений, разработанных на основе NetBIOS или других протоколов на основе локальной сети.
Именованные каналы обеспечивают легкий доступ к удаленным вызовам процедур (RPC) в пределах одного домена безопасности и, таким образом, выгодны для этих приложений.
Обычно протокол TCP хорош на практике, потому что вам не нужно заботиться обо всем этом в сети.
источник