我正在使用 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 配置”之间有什么区别?
提前致谢,乔治
答案1
答案2
1# 您没有在连接字符串中指定网络库,那么您的连接将尝试使用共享内存来自MSDN:
所连接的系统上必须安装相应的网络 DLL。如果您未指定网络并且使用本地服务器(例如,“。”或“(local)”),则将使用共享内存。
2# SQL Native 客户端是可用于连接 SQL Server 的驱动程序库。您可以将其作为单独的组件下载,并默认安装在服务器上,但如果您在数据库服务器上更改这些设置并且应用程序在另一台服务器(例如应用程序服务器)上运行,则不会产生任何影响。
如果您使用的是.net,那么您使用的提供程序很可能是 SQLClient 而不是 SQL Native 客户端,因此 Native 客户端设置不会产生影响,除非您修改连接字符串并更改提供程序。