SQL Server通信协议问题

Geo*_*ge2 1 .net c# ado.net sql-server-2008 visual-studio-2008

我正在使用VSTS 2008 + C#+ ADO.Net + SQL Server 2008.我对SQL Server 2008将使用哪种通信协议的问题,我的问题的更多细节,

  1. 如果连接字符串如下所示,是使用命名管道还是TCP/IP?是否使用不同的通信协议取决于客户端和SQL Server是否在同一台机器上?

    数据源= labtest1;初始目录= CustomerDB; Trusted_Connection = true;异步

  2. 在SQL Server配置管理器中,有一些项称为"SQL Server网络配置"和"SQL Native Client 10.0配置".我发现它们都有命名管道或TCP/IP的配置选项(用于通信协议),"SQL Server网络配置"和"SQL Native Client 10.0配置"之间有什么区别?

mar*_*c_s 5

根据SQL Server 2008联机丛书,这是发生的事情:

在服务器上本地连接

从本地客户端连接到数据库引擎(客户端应用程序和SQL Server在同一台计算机上)时,默认情况下连接使用共享内存协议.SQL Server Native Client接受以下任何格式,以使用共享内存协议在本地连接:

  • ""
  • "\"表示命名实例"(local)"
  • "(本地)\"表示命名实例
  • "本地主机"
  • 命名实例的"localhost"
  • 一个句号"."
  • ".\"表示命名实例

要使用其他协议进行本地连接(用于故障排除),请在启用协议的情况下执行以下操作之一:

  • 连接到指定协议的客户端别名.有关详细信息,请参阅SQL Server配置管理器帮助中的"别名".
  • 使用协议作为计算机名称的前缀(例如,"np:"或"tcp:").
  • 连接到导致TCP/IP连接的IP地址.
  • 连接到完全限定的域名(FQDN),从而产生TCP/IP连接(例如,"..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本身,因此服务器端设置显然没有意义.