一尘不染

SQL Server:我们应该使用 TCP 或命名管道还是使用默认值?

sql-server

从同一 LAN 中不同服务器上的 .NET 4 客户端应用程序连接到 SQL Server 2008 R2 时,可以设置三种不同的网络协议:

  1. TCP
  2. 命名管道
  3. 不要在连接字符串中设置任何内容并使用默认值

什么是最佳实践?选择什么?

附加信息:TCP 和命名管道在服务器和客户端上均已启用。该应用程序正在使用数据库镜像。客户端和服务器通过快速 LAN 进行通信。

我们正在对此进行调查,因为我们遇到了罕见的虚假连接和超时问题。(但无论如何我都想知道最佳实践)。


阅读 115

收藏
2022-11-21

共1个答案

一尘不染

与命名管道相比,我更喜欢 TCP/IP,尽管在大多数情况下两者没有明显区别。您可以通过在 SQL Server 配置管理器中调整实例支持的协议来实现此目的,而不是在连接字符串中进行硬编码(这样可以更轻松地进行更改或进行故障排除)。

本质上,命名管道涉及的路由和其他开销(除非您的应用程序与 SQL Server 在同一台计算机上,在这种情况下只会有一点点额外开销)使其成为效率较低的选项,尤其是在较慢的网络环境中(100MB 或更少),或者如果您的工作负载突然出现。

如果您的应用程序与SQL Server 在同一个机器上,您还应该牢记共享内存——如果您在 SQL Server 机器上有应用程序直接与 SQL Server 通信,这将是最有效的选择。

2022-11-21