我正在使用VSTS 2008 + C#+ ADO.Net + SQL Server 2008.关于SQL Server 2008将使用哪种通信协议的问题,我的问题的更多详细信息,
如果连接string如下所示,是否使用命名pipe道或TCP / IP? 将使用不同的通信协议取决于是否在同一台机器上的客户端和SQL Server?
数据源= labtest1;初始目录= CustomerDB; Trusted_Connection = true;asynchronous
在SQL Serverconfigurationpipe理器中,有一些名为“SQL Servernetworkingconfiguration”和“SQL Native Client 10.0configuration”的项目。 我发现它们都具有命名pipe道或TCP / IP的configuration选项(用于通信协议),“SQL Servernetworkingconfiguration”和“SQL Native Client 10.0configuration”之间有什么区别?
在此先感谢乔治
在这里你可以读一下Name Pipes协议。 该协议使用比TCP更多的stream量。
命名pipe道将在本地机器上使用。 TCP将用于远程连接。
SQL Servernetworkingconfigurationpipe理器允许您修改远程访问SQL Server服务的设置。 SQL Native Client是一组驱动程序。 在这里find更多信息
1#您的连接string中没有指定networking库,则您的连接将尝试使用共享内存从MSDN :
相应的networkingDLL必须安装在您连接的系统上。 如果您不指定networking并使用本地服务器(例如,“。”或“(local)”),则使用共享内存。
2#SQL本机客户端是可以用来连接到SQL Server的驱动程序库。 您可以将其作为单独的组件下载,并默认安装在服务器上,但如果在数据库服务器上更改了这些设置,并且该应用程序正在其他服务器(如应用程序服务器)上运行,则这不起作用。
如果使用的是.net,那么您使用的提供程序最有可能是SQLClient,而不是SQL Native Client,所以Native客户端设置没有任何影响,除非您修改连接string并更改提供程序。