我正在使用 VSTS 2008 + C# + ADO.Net + SQL Server 2008。关于 SQL Server 2008 将使用哪种通信协议的问题,我的问题的更多细节,
如果连接字符串看起来像这样,是使用命名管道还是 TCP/IP?是否会根据客户端和 SQL Server 是否在同一台机器上使用不同的通信协议?
数据源=labtest1;初始目录=CustomerDB;Trusted_Connection=true;异步
在 SQL Server 配置管理器中,有名为“SQL Server 网络配置”和“SQL Native Client 10.0 配置”的项目。我发现它们都有命名管道或 TCP/IP 的配置选项(用于通信协议),“SQL Server 网络配置”和“SQL Native Client 10.0 配置”有什么区别?
提前谢谢,乔治
在这里,您可以阅读 Name Pipes 协议。该协议使用的流量比 TCP 多得多。
命名管道将在本地机器上使用。TCP 将用于远程连接。
SQL Server 网络配置管理器允许您修改远程访问 SQL Server 服务的设置。SQL Native Client 是一组驱动程序。在此处查找其他信息
1# 您没有在连接字符串中指定网络库,那么您的连接将尝试使用来自 MSDN的共享内存:
2# SQL Native 客户端是可用于连接 SQL Server 的驱动程序库。您可以将其作为单独的组件下载并默认安装在服务器上,但是如果您在数据库服务器上更改这些设置并且应用程序正在另一台服务器(例如应用程序服务器)上运行,则这不会产生任何影响。
如果您使用的是 .net,那么您使用的提供程序很可能是 SQLClient 而不是 SQL Native 客户端,因此 Native 客户端设置没有影响,除非您修改连接字符串并更改提供程序。