SQL Server 2012笔记分享-35:配置客户端网络协议

客户端应用程序可以使用 TCP/IP、命名管道、VIA 或共享内存协议连接到 Microsoft SQL Server。可以通过使用 SQL Server Native Client dll 中包含的客户端网络库来实现这些协议。若要配置 SQL Server 客户端,请使用 SQL Server 配置管理器,它是新的 Microsoft 管理控制台 (MMC) 管理单元,可从“开始”菜单或从计算机管理实用工具中找到。SQL Server 配置管理器提供了有关客户端网络协议的信息,并可以供您配置某些协议选项。使用 SQL Server 配置管理器还可以更改默认的网络协议,定义连接到特定服务器的方法。

若要启动 SQL Server 配置管理器,请单击“开始”,依次指向“程序文件”、Microsoft SQL Server 和“配置工具”,然后单击 SQL Server 配置管理器。若要访问客户端配置部分,请单击控制台窗格中的“SQL Server Native Client 配置”。

更改客户端在连接到服务器时尝试使用所有启用协议的顺序。 如图。

早期SQL Server 客户端可用的协议包括 TCP/IP、Named Pipes、VIA 和 Shared Memory。

不推荐使用 VIA 协议。后续版本的 Microsoft SQL Server 将删除该功能(SQL server 2012中已经删除VIA协议)

Shared Memory 协议只能用来与 SQL Server 所在的计算机上运行的进程进行通信。它默认为启用状态。Windows 管理 Shared Memory 的安全性。在所有 Microsoft 客户端网络协议中,这是最安全的。如图。不同的进程可以读取物理内存中同一块数据,是一种最高效的数据交换方法。在启用了Shared Memory 协议时,SQL Server 始终首先尝试使用该协议。

右击TCP/IP协议,可以看到该协议详细的属性信息。例如默认端口为1433.在快速局域网 (LAN) 环境中,和命名管道客户端在性能方面不相上下。TCP/IP 套接字还支持积压队列。试图连接到 SQL Server 时,与可能导致管道忙错误的 Named Pipes 相比,该队列可以带来有限的平稳效果。TCP/IP 在慢速 LAN、WAN 或拨号网络中效果较好。而当网络速度不成问题时,Named Pipes 则是更好的选择,因为其功能更强、更易于使用并具有更多的配置选项。如果服务器关闭了TCP/IP协议而仅启用命名管道,还可以避免一些安全隐患。

Named Pipes是命名管道,为局域网开发的协议,管道即内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。它屏蔽了底层的网络协议细节,所以在不了解网络协议的情况下,也可以利用命名管道来实现进程间的通信。创建管道的进程称为管道服务器,连接到一个管道的进程称为管道客户机。一个命名管道的所有实例共享同一个管道名,但是每一个实例均拥有独立的缓存与句柄,并且为客户——服务通信提供一个分离的管道,实例的使用保证了多个管道客户能够在同一时间使用同一个命名管道。

参考资料:http://www.cnblogs.com/reveyjay/archive/2012/02/12/2348015.html

=============================================================================================================

SQL Server 不支持 VIA、Banyan VINES 顺序包协议 (SPP)、多协议、AppleTalk 或 NWLink IPX/SPX 网络协议。 以前使用这些协议连接的客户端必须选择其他协议才能连接到 SQL Server。 不能使用 SQL Server 配置管理器来配置 WinSock 代理。 若要配置 WinSock 代理,请参阅 ISA Server 文档。

下面我们来看看SQL的连接选项。如图。

如果不修改的话,则使用默认配置。

点击上图的选项之后,在连接属性里面,我们可以修改使用的客户端网络协议,如图。

默认的优先级顺序分别是shared memory、tcp/ip、named pipes。

默认情况下,在SQL server 2012安装完成后,以上三种协议都是启用的状态。

默认情况下,在SQL 本机上,可以使用shared memory和tcp/ip直接连接,但是如果使用命名管道的话,则需要一些配置。

这个时候就需要检查服务器的远程设置是否正确了,具体参考博文:http://blog.csdn.net/xiadingling/article/details/8215282

另外一点就是:默认情况下,实例级别的named pipes协议是不启用的,所以一定要手动启用它,如图。

做完上面的配置之后,别忘记了要重启SQL server 服务器才能生效的。

============================================================================

可以使用下面的SQL语句来查询当前使用的连接方式,如图。

======================================================================================

2014.6.27日补充

SQL网络设置和native client里面配置客户端连接方式的区别:naiveclient只是针对客户端管理工具的设置,SQL网络设置是在SQL服务器上的设置,跟本地客户端的管理工具无关。如果服务器开启了网络协议,客户端对应的网络协议必须也是开启状态才能连接;

=========================================================================================

你可能感兴趣的:(SQL Server 2012笔记分享-35:配置客户端网络协议)