转载:有关SQL server connection Keep Alive 的FAQ(2)
转: 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)的更多相关文章
- 转载:有关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 这个 ...
- 【转载】SQL server connection KeepAlive
1.什么是SQL server TCP连接的keep Alive? 简单说,keep alive 是SQL server在建立每一个TCP 连接的时候,指定了TCP 协议的keepaliveinter ...
- 转载:有关SQL server connection KeepAlive 的FAQ
转:http://blogs.msdn.com/b/apgcdsd/archive/2011/05/03/sql-server-connection-keepalive-faq.aspx 1.什么是S ...
- SQL server connection KeepAlive[转]
1.什么是SQL server TCP连接的keep Alive? 简单说,keep alive 是SQL server在建立每一个TCP 连接的时候,指定了TCP 协议的keepaliveinter ...
- SQL Server Connection Pooling (ADO.NET)
SQL Server Connection Pooling (ADO.NET) Connecting to a database server typically consists of severa ...
- WPF数据库连接错误:The user is not associated with a trusted SQL Server connection.
我当初安装sql server的时候选的Window Authentication mode,没选SQL Server Windows Authentication. 后来做WPF时连接数据库时需要一 ...
- [转】[tip] localhost vs. (local) in SQL Server connection strings
主要区别在于连接协议不同,前者(localhost)使用TCP协议,后者("(local)")使用NamedPipe协议. Sample code with SQL Server ...
- C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用
C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备) https://blog.csdn.net/u013519551/article/details/51220841 1. . ...
- 【转载】Sql Server参数化查询之where in和like实现详解
文章导读 拼SQL实现where in查询 使用CHARINDEX或like实现where in 参数化 使用exec动态执行SQl实现where in 参数化 为每一个参数生成一个参数实现where ...
随机推荐
- android 回调函数一:基本概念
1.概念 客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数. 一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C ...
- FileInputStream类
FileInputStream和FileOutPutStream类都是用来操作磁盘文件的.如果用户对文件读取需求比较简单,则可以使用FileInputStream类,该类继承InputStream类 ...
- App开发流程之配置Info.plist文件
Info.plist文件控制应用的全局配置,例如bundle name,display name. 先来看一下默认创建的Info.plist文件 右键左侧的Info.plist文件,可以open as ...
- OC语言-02-OC语言-基础知识
一.基础语法 1> OC语言和C语言 C语言是面向过程的语言,OC语言是面向对象的语言 OC语言继承了C语言,并增加了面向对象的思想 以下内容只介绍OC语言与C语言的不同之处 2> 关键字 ...
- Tomcat服务器性能优化
在这篇文章里分以下的七个步骤,按照这些步骤走,Tomcat服务器的性能就能改善哦. 增加JVM堆(heap) 解决内存泄漏问题 线程池(thread pool)的设置 压缩 调节数据库性能 Tomca ...
- UVa 104 - Arbitrage(Floyd动态规划)
题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&pa ...
- android intent 5.1
1.intent 6 items action, data(uri &type),Component name,Extras,flags 2.data---uri & type 不管使 ...
- android多种布局的列表实现
最近有一个列表效果,需要一个列表有多种布局,最终效果如下: 这个我也问了同事以及开发群里的朋友,居然都没得到最优的实现方式的回答,看来这种复杂列表的需求还是比较少的,我自己也走了一些弯路,把我几个实现 ...
- PS网页设计教程XXVIII——如何在PS中创建一个干净的网页布局
作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,“熟读唐诗三百首,不会作诗也会吟”. 本系列的教程来源于网上的PS教程,都是国外的,全英文的.本人尝试 ...
- SQLAlchemy 中文文档翻译计划
SQLAlchemy 中文文档翻译计划已启动. Python 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质.交流群:467338606. 希望大家能够勇敢地去翻译和改进翻译.虽然我 ...