转: http://blogs.msdn.com/b/apgcdsd/archive/2012/05/18/sql-server-connection-keep-alive-faq-2.aspx

在下面这篇文章里面介绍了有关keepalive的一些FAQ:

http://blogs.msdn.com/b/apgcdsd/archive/2011/05/03/sql-server-connection-keepalive-faq.aspx

这篇文章再进一步讨论有关Keep Alive的几个问题.

、Keep Alive机制,是否只和特定的provider有关,比如SQL native client, odbc, oledb, ADO等等?

[答]和连接使用的上层应用(ADO,SQL client, ODBC etc) 无关。和TCP协议和Named Pipe 有关。

、Blog上有一句提到"如果该连接空闲时间(没有任何数据交互)超过keepalivetime",这里面说的数据,是指网络包还是实实在在的数据库里面的数据?

[答] 是网络层面上的package,但不包括keepalive包。

、以上讲的Keep Alive均指server端的,客户端的Keep Alive能否设置,如何设置,如何知道客户端设置了,如果客户端设置了,以server的为准还是client的为准?

[答]客户端设置参考如图。

红色框框里面的是针对客户端程序使用native client的设置值。

秒,那么客户端在条件满足时每隔30秒就会发一个keepalive,而服务器的keepalive是10秒,那么服务器会在条件满足时每隔10秒发个keepalive包。客户端TCP通过keepalive包监控connection情况,如果它发现connection有问题,就会关闭连接。服务器端也一样的。

.假设应用远程连接至数据库做update操作,一直不commit,在未返回前模拟数据库端对应用网卡disabled. 我在服务器上设置服务器的TCP keepalive为15秒。这时候35~40秒我的程序收到报错。为什么不是我设置的15秒而是40秒?

秒,而是马上就会把相应connection断开。而这个时候客户端程序因为网卡已经断开,无法收到服务器的关闭连接事件,那么客户端的keepalive会发出,侦测连接的情况。客户端缺省keepalive =30 秒,所以大概35~40秒客户端程序才会检查到连接错误。

秒才知道connection出问题。

.在博客中有句话:如果一个应用程序没有显式调用函数设置TCP连接的keepalive属性,那么他的TCP连接默认使用OS 的TCP配置。OS keep alive配置默认是关闭的。我确实在HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters找不到任何的keep alive值,而OSkeep alive配置默认是关闭的,关闭表示什么意思?

[答] 关闭就是disable,就是说没有发送keep alive包这样的行为。那么对于一个连接,只有在真正发送数据的时候才能知道是否可用,而不能事先知道。keepalive包的侦测行为可以更快知道一个连接是否正常。 SQL server 和SQL native client等部件的keep alive缺省都是打开(enable)的。

转载:有关SQL server connection Keep Alive 的FAQ(2)的更多相关文章

  1. 转载:有关SQL server connection Keep Alive 的FAQ(3)

    转载:http://blogs.msdn.com/b/apgcdsd/archive/2012/06/07/sql-server-connection-keep-alive-faq-3.aspx 这个 ...

  2. 【转载】SQL server connection KeepAlive

    1.什么是SQL server TCP连接的keep Alive? 简单说,keep alive 是SQL server在建立每一个TCP 连接的时候,指定了TCP 协议的keepaliveinter ...

  3. 转载:有关SQL server connection KeepAlive 的FAQ

    转:http://blogs.msdn.com/b/apgcdsd/archive/2011/05/03/sql-server-connection-keepalive-faq.aspx 1.什么是S ...

  4. SQL server connection KeepAlive[转]

    1.什么是SQL server TCP连接的keep Alive? 简单说,keep alive 是SQL server在建立每一个TCP 连接的时候,指定了TCP 协议的keepaliveinter ...

  5. SQL Server Connection Pooling (ADO.NET)

    SQL Server Connection Pooling (ADO.NET) Connecting to a database server typically consists of severa ...

  6. WPF数据库连接错误:The user is not associated with a trusted SQL Server connection.

    我当初安装sql server的时候选的Window Authentication mode,没选SQL Server Windows Authentication. 后来做WPF时连接数据库时需要一 ...

  7. [转】[tip] localhost vs. (local) in SQL Server connection strings

    主要区别在于连接协议不同,前者(localhost)使用TCP协议,后者("(local)")使用NamedPipe协议. Sample code with SQL Server ...

  8. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  9. 【转载】Sql Server参数化查询之where in和like实现详解

    文章导读 拼SQL实现where in查询 使用CHARINDEX或like实现where in 参数化 使用exec动态执行SQl实现where in 参数化 为每一个参数生成一个参数实现where ...

随机推荐

  1. SharePoint固定的Footer

    原文地址:http://www.eliostruyf.com/sticky-footer-solution-for-sharepoint-2013/ 照搬全文: OFFICE 365 & SH ...

  2. [stl] SGI STL的空间配置器

    第一级空间配置器 第一级配置以malloc(), free(), realloc()等c函数执行实际的内存配置,释放.重配置操作,并实现出类似c++ new handler的机制.它不能直接使用c++ ...

  3. [leetcode] Count Primes

    Count Primes Description: Count the number of prime numbers less than a non-negative number, n click ...

  4. 【读书笔记】iOS-属性列表

    一,在Cocoa中,有一类名为属性列表的对象,常简写为plist.这些列表包含Cocoa知道如何操作的一组对象.具体来讲,Cocoa如何知道将这们保存在文件中并进行加载.属性列表类包括NSArray, ...

  5. 【读书笔记】iOS-特性

    一,@符号标志着“你将使用Objective-C的特殊用法”.@property是一种新的编译器功能,表示声明了一个新对象属性. 二,@property预编译指令的作用是自动声明属性的setter和g ...

  6. RESTful API的设计与开发

    自己做过关于RESTful API的培训,下载

  7. JS中的event 对象详解

    JS中的event 对象详解   JS的event对象 Event属性和方法:1. type:事件的类型,如onlick中的click:2. srcElement/target:事件源,就是发生事件的 ...

  8. 微博MySQL优化之路--dockone微信群分享

    微博MySQL优化之路 数据库是所有架构中不可缺少的一环,一旦数据库出现性能问题,那对整个系统都回来带灾难性的后果.并且数据库一旦出现问题,由于数据库天生有状态(分主从)带数据(一般还不小),所以出问 ...

  9. 利用Keydown事件阻止用户输入

    先了解下各事件的区别 keydown:在控件有焦点的情况下按下键时发生 keypress:在控件有焦点的情况下按下键时发生 keyup:   在控件有焦点的情况下释放键时发生 意义 keypress主 ...

  10. D_S 线性表的顺序表示和实现

    线性表的顺序表示又称为顺序存储结构或顺序映像 顺序存储定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构,简言之,逻辑上相邻,物理上也相邻 顺序存储方法:用一组地址连续的存储单元依次存 ...