打开Sql Server Configuration Manager,里面显示了SQL Server的网络配置,这些到底表示什么含义呢?

            图一:MSSQLSERVER的协议

  这些配置选项,其实就是为了保证客户端和数据库服务器能够正确的连接,以便接下来的一系列操作。下面我用一个假想的简化的例子,来解释解释。

  假设我们编写了一个小程序,叫做test1.exe,运行后,就有了进程test.exe的进程,数据库服务器的数据库引擎也运行了,也就有了相应的进程sqlservr.exe。接下来我们需要test1访问数据库服务器引擎,也就是进程test1.exe访问进程sqlservr.exe,那么进程之间通信是如何进行的呢?

1.两个进程在一台电脑上

  如果两个进程在同一台电脑上,也就是说test1.exe和sqlservr.exe在同一台电脑上运行,两个进程有自己独立的系统资源,两者是隔离的。但是可以开辟一个共享内存区,也就是shared memory,两个进程可以共享,进而实现进程间的通信。可见shared memory只能应用于客户端和服务器端在一台电脑的情况,不在一台电脑上,哪来的共享内存啊。

2.两个进程不在一台电脑上

(1)两个进程同属一个局域网:我们知道两个进程不在一台电脑上,所以无法使用shared memory了,这时可以通过named pipes来实现通信。named pipes是为局域网而开发的协议。

(2)两个进程属于不同的局域网:这个时候前面的办法都不行了,也就使用最常用的TCP/IP协议,来保证客户端和服务器连接。

总结:

(1)对于客户端和服务器都在一台电脑上,可以使用shared memory,速度最快,当然也可以采用named pipes和tcp/ip,相当于在同一台电脑上,两个进程非要绕一个弯再传送“秋波”,自然效率要低些。

(2)对于客户端和服务器在同一个局域网的:可以使用named pipes,速度最快,当然也可以通过TCP/IP,效率要低些。

(3)对于客户端和服务器不在同一个局域网的:只能只用TCP/IP了。

  写到这里,你已经对图一中的协议了解了,你可能会说,干脆全打开算了,多省事,我建议不要这样,而是按需打开,为什么呢?第一:全打开增加了系统开销,你想啊,每开一个协议,都需要程序里面有个while循环来检测吧,自然开销多些(可能不是很明显)。第二:全打开安全性降低,试想,客户端会通过一扇门和服务器连接,干嘛还要开一些其他的门啊。

接下来,我们再想,客户端程序要和数据库引擎通信,可以有多种方式:shared memory,named pipes,TCP/IP,那么当都可用的时候,到底用哪个协议呢,总得有个顺序吧?确实是有一个顺序的,而且我们可以进行设置,通过客户端协议来配置,如下图:

里面列出了四个协议的默认顺序(VIA协议没怎么用过),shared memory默认是第一个,因为它速度最快,可以通过右键来改变顺序。如下图

  好了,最后我们再说说“别名”中的设置,可以通过新建别名,来设定当客户端连接数据库服务器时,使用特定的协议,例如在同一台电脑上的客户端程序test.exe和数据库服务器程序sqlservr.exe,默认是采用shared memory连接,而且也最快,但是如果在别名里面设置为“连接数据库服务器程序用TCP/IP协议”,那么客户端和数据库服务器就只能通过TCP/IP来进行通信了,虽然速度慢些。

对于SQL Server配置管理器里面的东西,应该认识更清楚些了吧。

(完)

文档信息

说说SQL Server 网络配置的更多相关文章

  1. EntityFramework.SqlServer.dll 中发生 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)

    解决方案: 1.打开Sql server 管理配置器 或者在命令行输入:SQLServerManager10.msc 2.点击MSSQLSERVER的协议,在右侧的页面中选择TCP/IP协议启用 3. ...

  2. Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙

    原文:Chapter 1 Securing Your Server and Network(6):为SQL Server访问配置防火墙 原文出处:http://blog.csdn.net/dba_hu ...

  3. 未找到或无法访问服务器 请验证实例名称是否正确并且SQL Server 已配置为允许远程连接

    无法连接到sql server 2008服务器 报下错误 其他信息    在与SQL Server建立连接时出现与网络相关的或特定于实例的错误 未找到或无法访问服务器请验证实例名称是否正确并且SQL ...

  4. 请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)

    程序异常,错误信息:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (pro ...

  5. SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

    SQL SERVER 2008配置Database Mail –用SQL  数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...

  6. Ubuntu server 网络配置中遇到的问题

    Ubuntu server 网络配置中遇到的问题 图片中ip地址有可能和文字不符,请不要在意太多,知道原理即可 - 1.首先就是要配置ip地址 vim /etc/network/interfaces ...

  7. vmworkstation安装unbuntu server 网络配置:NAT模式

    之前安装虚拟机测试环境的时候,习惯了使用桥接模式或者仅主机模式:今天偶然发现,其实NAT 模式的网络配置还是挺方便的. 在新建虚拟机的时候,选择网络模式为NAT,虚拟机创建完成之后,在vmworkst ...

  8. 使用IP连接SQL SERVER或者配置为连接字符串失败

    使用IP连接SQL SERVER或者配置为连接字符串失败 情景一:当在webconfig文件中使用   <add key="ConnectionString" value=& ...

  9. System.Data.SqlClient.SqlException: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

    A network-related or instance-specific error occurred while establishing a connection to SQL Server. ...

随机推荐

  1. 常用的sublime text插件(很爽哦)

    个人比较懒,平时喜欢用webstorm,但是因为webstorm打开实在太慢了,并且太看设备,所以本人编辑简单的文件依然会选择使用sublime,虽然网上有很多关于此类插件的分享了,但是感觉都是片段, ...

  2. PHP isset() empty() isnull() 的区别

    <? isset - 检测变量是否设置 注意: isset 检测变量是否设置,并且不是 NULL. 若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE: empty ...

  3. my links

    如何解決MySQL 開動不到的問題 MySQL start fail 10 BEST JQUERY FILE UPLOAD PLUGINS WITH IMAGE PREVIEWS Spring MVC ...

  4. Struts 2

    <默认>execute -- 默认方法success -- 默认返回值 <配置><package><package name="default&qu ...

  5. PHP图形操作之生成图像验证码

    简单的验证码其实就是在图片中输出了几个字符,通过imagestring函数就能实现. 但是在处理上,为了使验证码更加的安全,防止其他程序自动识别,因此常常需要对验证码进行一些干扰处理,通常会采用绘制一 ...

  6. JavaScript笔试必备语句【转】

    1. document.write( " "); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document- >html- >(head,bod ...

  7. ubuntu的vim模式

    之前想修改一个文件的内容,居然发现之前的东西又随着时间在空气中淡忘了,所以取了网上的一些摘文. 1.vim #在命令行中输入vim,进入vim编辑器 2. i #按一下i键,下端显示 --INSERT ...

  8. Win8.1开机黑屏一段时间才能登录

    最近发现开机后有一段时间黑屏过后才能进人登录界面,并且时间越来越长,网上查询了很多方法都没有效果,只能自己找了. 网上有一种方法提到用msconfig诊断判断或者安全启动来查看是否有黑屏,于是试了一下 ...

  9. CICS的几个常用命令

    下面是CICS的几个常用命令,仅仅几个我也是刚刚使用CICS,慢慢积累. 1. cicscli /l 是查看启动的客户机守护程序,如果没有启动客户机守护程序,会提示如下信息:CCL8001I CICS ...

  10. 李洪强iOS经典面试题153- 补充

    李洪强iOS经典面试题153- 补充   补充 有空就来解决几个问题,已经懒癌晚期没救了... UML 统一建模语言(UML,UnifiedModelingLanguage)是面向对象软件的标准化建模 ...