我正在使用 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配置”之间有什么区别?
根据 SQL Server 2008 联机丛书,发生的情况如下:
在服务器上本地连接
当您从本地客户端连接到数据库引擎时(客户端应用程序和 SQL Server 在同一台计算机上),连接使用共享内存协议默认情况下。 SQL Server Native Client 接受以下任意格式以使用共享内存协议进行本地连接:
- ""
- “\”表示命名实例“(本地)”
- “(local)\” 表示命名实例
- “本地主机”
- 命名实例的“localhost\”
- 单个句点“.”
- “.\”表示命名实例
要使用其他协议进行本地连接(用于故障排除),请在启用该协议的情况下执行以下操作之一:
- 连接到指定协议的客户端别名。有关详细信息,请参阅 SQL Server 配置管理器帮助中的“别名”。
- 在计算机名称前加上协议前缀(例如“np:”或“tcp:”)。
- 连接到产生 TCP/IP 连接的 IP 地址。
- 连接到产生 TCP/IP 连接的完全限定域名 (FQDN)(例如“..com”)
通过网络连接
默认情况下,SQL Server 客户端的默认协议是TCP/IP。如果无法使用 TCP/IP 建立连接,则会尝试其他启用的协议。无法通过网络建立共享内存连接。使用 SQL Server 配置管理器启用或禁用客户端协议,并更改进行连接尝试的顺序。
在 Sql Server 配置管理器中,您可以定义客户端协议的顺序 - 我假设这是客户端尝试连接到 SQL Server 的顺序。将使用服务器首先支持的协议。
配置实用程序的 AS:
- SQL Server 网络配置是关于服务器端网络协议的配置
- SQL Native Client Configuration 是客户端配置
如果你有一个开发盒,上面有两者,你就会看到两者。连接到 SQL Server 的普通 PC 通常不会在本地安装 SQL Server 本身,因此服务器端设置显然毫无意义。
Marc
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)