摘要: 这个是SQL Server Keep Alive FAQ文章的最后一篇。问题1:为什么我在客户端设置了KeepAlive值,但是我使用SQL server management studio 测试的时候,该值总是不起作用?[答]目前市场上主流的数据库访问技术有ODBC,OLEDB,SQL native client 和 SQLclient。其中SQLclient是.NET里面使用的托管provider。目前SQL Server configuration manager里面提供的keepalive设置是针对SQL native client 的:也就是说, 该值只对使用SQL Native.. 阅读全文
posted @ 2012-06-15 08:58 云中雀 阅读(709) 评论(1) 推荐(0) 编辑
摘要: 这篇文章再进一步讨论有关Keep Alive的几个问题.1、Keep Alive机制,是否只和特定的provider有关,比如SQL native client, odbc, oledb, ADO等等?[答]和连接使用的上层应用(ADO,SQL client, ODBC etc) 无关。和TCP协议和Named Pipe 有关。2、Blog上有一句提到“如果该连接空闲时间(没有任何数据交互)超过keepalivetime”,这里面说的数据,是指网络包还是实实在在的数据库里面的数据? [答] 是网络层面上的package,但不包括keepalive包 。3、以上讲的Keep Alive均指ser 阅读全文
posted @ 2012-06-15 08:51 云中雀 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 1、什么是SQL server TCP连接的keep Alive?简单说,keep alive 是SQL server在建立每一个TCP 连接的时候,指定了TCP 协议的keepaliveinterval 和keepalivetime参数。这样对每个TCP连接,如果该连接空闲时间(没有任何数据交互)超过keepalivetime,TCP协议会自动发出keepalive 包检测连接存活与否。如果keepalive 检测次数超过注册表TcpMaxDataRetransmissions定义的值而对方还是没有回应,那么TCP就认为该连接有问题而关闭它。通过这样的机制SQL server能够检测出orp 阅读全文
posted @ 2012-06-15 08:46 云中雀 阅读(321) 评论(0) 推荐(0) 编辑