sql server中sleeping状态
类别:数据库 浏览量:571
时间:2017-3-11 sql server中sleeping状态
sql server中sleeping状态一、什么是sleeping
sleeping 代表建立了数据库连接,但是,程序段没有发出SQL命令. 因为很多应用程序为了减少打开和关闭连接的开销,在完成数据库中的操作后,仍然保持数据库的连接。这些连接最主要的目的是重用。
如果代码编写的合适,我们不应该看到大量的sleeping连接。
二、产生sleeping状态的几个实例
1、建立连接并打开
SqlConnection sqlConnection = new SqlConnection("Server=(local);Database=Testdb;UId=test;Pwd=test;");
sqlConnection.Open();
查看数据库会看到,此时就会出现SLEEPING状态。这就是建立了连接但是没有发出任何SQL命令
2、SQL执行语句完成
在执行的过程中可能有(running,suspened,runnale状态)等他执行完。查看数据库中的状态变为sleeping.
SqlCommand sqlCommand = new SqlCommand("select name from dbo.testTable", sqlConnection);
sqlCommand.ExecuteScalar();
三、由sleeping状态可能引起的问题
有可能阻塞其它的进程会话,导致其它会话等待时间很长。
四、解决方法
查看产生sleeping状态的执行的SQL语句,定位对应到程序中的代码段,然后进行下面的改善措施:
1、在代码中加入try catch的异常处理,在处理的的代码中加入 :IF @@TRANCOUNT > 0 ROLLBACK TRAN
2、找到对应的执行的SQL,找出他执行超时的原因加以解决。
3、使用 SET XACT_ABORT ON; 他表示 如果执行 Transact-SQL 语句产生运行时错误,则整个事务将终止并回滚。
标签:sql server
您可能感兴趣
- SQL Server日期与字符串之间的转换
- sqlserverlog原理(sql server中错误日志errorlog的深入讲解)
- SQL语句查询SQL SERVER作业的调度信息
- sqlserver索引介绍(浅析SQL Server的聚焦使用索引和查询执行计划)
- SQL Server 表变量的用法
- SQL Server作业活动监视器
- 数据库sqlserver定时任务(SQL Server 2005作业设置定时任务)
- sql server2008如何升级到2012(MS sqlserver 2008数据库转换成2000版本的方法)
- sqlserver怎么手动添加数据库表(SQL Server 数据库调整表中列的顺序操作方法及遇到问题)
- sql server日期查询语句(SQL Server中查询结果超出了查询时间范围解决方法)
- SQL Server中使用order by charindex按指定顺序排序
- sql 如何拆分字符串(SQL Server实现将特定字符串拆分并进行插入操作的方法)
- sqlserver中根据日期时间获取秒数(sql server编写通用脚本实现获取一年前日期的方法)
- sql server 过期激活(SQL Server评估期已过问题的解决方法)
- SQL Server与Oracle数据类型的对应关系
- sql server删除曾经登录过的登录名
- 她救了被绑架的他,而这一切竟是一场阴谋...(她救了被绑架的他)
- 冬季养殖这6种阴生植物,方便又好养,你家有么(冬季养殖这6种阴生植物)
- 阴生植物为什么不怕照不到阳光(阴生植物为什么不怕照不到阳光)
- 阴生环境 耐阴地被植物,你知道哪些(阴生环境耐阴地被植物)
- 常见的喜阴植物有哪些 养室内盆栽就在这里选(常见的喜阴植物有哪些)
- 这8种耐阴植物,营造阴生植物花境,也是一个不错的选择(营造阴生植物花境)
热门推荐
- php语法基础知识(PHP中16个高危函数整理)
- ASP.NET方法重载
- js 图片编辑处理库(javascript input图片上传及预览,FileReader预览图片)
- docker容器技术搭建个人博客(使用Portainer部署Docker容器的项目实践)
- docker-compose 原理(详解docker compose 用法)
- 最轻量web服务器(免费开源的几款Web服务器软件简介)
- docker 部署springboot项目(Spring Boot Docker打包工具小结)
- sqlserver替换脚本(SQL Server中对数据截取替换的方法详解)
- C#中BeginInvoke与EndInvoke
- php环境搭建apache(apache 支持 php5 的配置方法)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9