SQL Server的通信协议问题(SQL Server communication protoco

2019-08-20 05:05发布

我使用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本机客户端10.0配置”。 我发现他们都具有命名管道或TCP / IP的配置选项(通信协议),什么是“SQL Server网络配置”和“SQL本机客户端10.0配置”之间的区别是什么?

Answer 1:

根据SQL Server 2008联机丛书,这是发生了什么:

在服务器上本地连接

当您从本地客户端连接到数据库引擎(客户端应用程序和SQL Server在同一台计算机上),连接默认使用共享内存协议 。 SQL Server的本机客户端接受任何下列格式在本地使用共享存储器协议连接:

  • “”
  • “\”命名实例“(本地)”
  • “(本地)\”命名实例
  • “本地主机”
  • “本地主机\”命名实例
  • 一个句点“”
  • “\”命名实例

要在本地连接使用另一个协议(用于故障排除),请启用了该协议的下列之一:

  • 连接到客户端的别名,它指定的协议。 欲了解更多信息,请参阅SQL Server配置管理器帮助“别名”。
  • 以协议前缀的计算机名(例如,“NP:”或“TCP”)。
  • 连接到这会导致TCP / IP连接的IP地址。
  • 连接到完全合格域名(FQDN),这导致在一个TCP / IP连接(例如,“..com”

通过网络连接

默认情况下,SQL Server客户端的默认协议是TCP / IP。 如果连接不能使用TCP / IP进行的其他支持协议尝试。 共享存储器连接不能在网络上进行。 使用SQL Server配置管理器来启用或禁用客户端协议,并以更改连接尝试的顺序。

在SQL Server配置管理器,您可以定义客户端协议的订单 - 我会假设这是客户端试图连接到与SQL Server的顺序。 无论协议是由服务器所支持的第一个是将被使用。

至于配置实用程序:

  • SQL Server网络配置是所有关于对事物的服务器端的网络协议配置
  • SQL Native Client配置是客户端配置

如果你有两个就可以了dev的框,你会看到两个。 在普通PC连接到SQL Server通常不具有SQL Server本身就可以在本地安装,所以服务器端的设置是无意义的存在,很明显。



Answer 2:

在SQL Server Native Client配置中配置的设置在运行客户端程序的计算机上使用。 在运行SQL Server计算机上配置的时候,它们只影响服务器上运行的客户端程序。

一台机器上的Microsoft SQL Server的客户端使用的SQL服务器本机客户端库文件提供的方案,SQL Server的服务器通信。

请记住,这些设置不使用微软.NET的SqlClient。 用于.NET的SqlClient协议顺序是第一TCP,然后命名管道,这是不能改变的。



文章来源: SQL Server communication protocol issue