加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 安全 > 正文

如何诊断和调优,才能轻松与数据库“timeout”说再见?

发布时间:2021-01-08 07:08:05 所属栏目:安全 来源:网络整理
导读:副标题#e# 《如何诊断和调优,才能轻松与数据库“timeout”说再见?》要点: 本文介绍了如何诊断和调优,才能轻松与数据库“timeout”说再见?,希望对您有用。如果有疑问,可以联系我们。 作者介绍 许昌永,高级DBA,微软SQLServerMVP,十年以上SQLServer使用

我们另外再介绍一种超时,在.NET的SqlBulkCopy类,有BulkCopyTimeout属性,超时之前操作完成所允许的秒数.如果操作超时,事务便不会提交,而且所有已复制的行都会从目标表中移除.使用SqlBulkCopy批量加载数据时的默认超时设置为30秒.

每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的.以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种:

  • 当从连接池获取一个连接时,碰到超时.
  • 当建立一个全新连接(而不是从连接池获取)时,碰到超时.
  • 当发送一个命令(command)到SQLServer时,超时.
  • 当发送命令(连接字符串带有“contextconnection=true”属性)到SQLServer时,超时.
  • 当不是显示的发送一个命令(implicitly)到SQLServer时,碰到超时.
  • 当执行异步命令时,(BeginExecute)碰到超时.
  • 当从服务器端,获取行时,碰到超时.
  • 当用Bulkcopy方式,上传数据时,碰到超时.

这些超时主要是通过连接字符串中的ConnectTimeout和SqlCommand.CommandTimeout来进行控制.前面两种是登录超时由ConnectionTimeout来决定什么时候超时,后面几种是命令超时由CommandTimeout来决定什么时候超时.

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读