以此记录,以备不时之需;

IIS项目突然发现出现了503项目,一直以为是IIS的问题,网上关于设置IIS的帖子都试过了,完全没有用;无意间发现了SQLServer数据中有错误日志。经过排查发现是死锁了!!!

项目中出现了死锁的情况该如何处理:

1,查看死锁的原因:执行这个存储过程(SQL Server数据库):


GO/****** Object:  StoredProcedure [dbo].[sp_who_lock]    Script Date: 2020/4/17 16:51:52 ******/
SET ANSI_NULLS ON
GOSET QUOTED_IDENTIFIER ON
GOcreate procedure [dbo].[sp_who_lock]   as     begin     declare @spid int     declare @blk int     declare @count int     declare @index int     declare @lock tinyint      set @lock=0      create table #temp_who_lock      (      id int identity(1,1),      spid int,      blk int     )      if @@error<>0 return @@error      insert into #temp_who_lock(spid,blk)      select 0 ,blocked       from (select * from master..sysprocesses where blocked>0)a      where not exists(select * from  master..sysprocesses where a.blocked =spid and blocked>0)      union select spid,blocked from  master..sysprocesses where blocked>0      if @@error<>0 return @@error      select @count=count(*),@index=1 from #temp_who_lock      if @@error<>0 return @@error      if @count=0      begin     select '没有阻塞和死锁信息'     return 0      end     while @index<=@count      begin     if exists(select 1 from #temp_who_lock a where id>@index and exists(select 1 from #temp_who_lock where id<=@index and a.blk=spid))      begin     set @lock=1      select @spid=spid,@blk=blk from #temp_who_lock where id=@index     select '引起数据库死锁的是: '+ CAST(@spid AS VARCHAR(10)) + '进程号,其执行的SQL语法如下'     select  @spid, @blk    dbcc inputbuffer(@spid)      dbcc inputbuffer(@blk)      end     set @index=@index+1      end     if @lock=0       begin     set @index=1      while @index<=@count      begin     select @spid=spid,@blk=blk from #temp_who_lock where id=@index     if @spid=0      select '引起阻塞的是:'+cast(@blk as varchar(10))+ '进程号,其执行的SQL语法如下'     else      select '进程号SPID:'+ CAST(@spid AS VARCHAR(10))+ '被' + '进程号SPID:'+ CAST(@blk AS VARCHAR(10)) +'阻塞,其当前进程执行的SQL语法如下'     dbcc inputbuffer(@spid)    dbcc inputbuffer(@blk)      set @index=@index+1      end     end     drop table #temp_who_lock      return 0      end           GO

2,找到死锁的进程ID,然后 KILL xx ,将进程杀死;

3,优化代码:将查询中都加入  WITH(nolock),并将数据库资源及时释放,用using或者一定要手动xx.Dispose(),例如:

 using (SCommBB commBB = new SCommBB()){DataTable dt = commBB.Query("SELECT DISTINCT batchNo FROM dbo.AP_VC_VaccineStock WITH(nolock) WHERE vaccineModelId=" + vaccineModelId + " and corpId=" + CorpId + " and iceBoxId=" + iceBoxId).Tables[0];return new ReturnInfo(true, JsonConvert.SerializeObject(dt));}

IIS站点出现503错误。相关推荐

  1. 2012服务器系统iis500错误,Windows Server IIS站点常见500错误及解决方案

    问题现象 ECS Windows2008系统服务器在安装安全狗后,网站访问访问会报HTTP 错误 500.21 - Internal Server Error,处理程序"SafedogIIS ...

  2. SharePoint 站点出现Http 503 错误

    今天上班把域账户的密码修改了,打开站点和管理中心下我一大跳,http 503错误,下我一跳,以为又是IIS崩溃了.最后在同事的帮助下解决了,原因是域账户的密码修改后,SharePoint的安装或者管理 ...

  3. IIS应用程序池启用32位导致服务不可用的503错误

    原来运行正常的站点,突然不正常了,出现503错误.查看操作系统的日志查看器显示: 由于配置问题,无法加载模块 DLL"C:\Program Files (x86)\IIS\Asp.Net C ...

  4. win7 IIS 503错误解决方法

    在win7上部署IIS站点,页面一直出现HTTP Error 503: 解决方法:修改应用程序池 - 高级设置 - 加载用户配置,将此值修改为 false

  5. 在本地计算机无法启动错误1068,win7新建IIS站点出现错误1068:依赖服务或组无法启动如何解决...

    大家win7旗舰版上在新建IIS站点的时候,总会遇到这样活那样的问题,最常听到就是新建IIS站点出现Windows无法启动world wide web publishing service服务(位于本 ...

  6. linux运维故障报告,iis7报为应用程序池“xx”提供服务的进程在启动过程中尝试读取配置时报告故障(503错误)处理方法...

    亲爱的:若该文章解决了您的问题,可否收藏+评论+分享呢? 最近处理问题,遇到一个棘手的问题,其实也不算棘手,只是自己没认真看日志而已,现在整理下以防止下次忘记.做个深刻教训 现象:客户iis7 中所有 ...

  7. 诊断IIS中的ASP0115错误

    诊断IIS中的ASP0115错误 作者:未知 重要说明:本文包含有关修改注册表的信息.修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表.有关如何备份.还原和编辑注册表的信息, ...

  8. 出现503错误 怎么办

    展开全部 出现503错误原因及解决办法 原因:web服务器不能处理HTTP请求,可能是临时超载或者是服务器进行维护. 解决办法:用户需要等待服务器的临时处理.在这种状态下,一些服务器可以简单的拒绝so ...

  9. HTTP Error 503 错误解决办法

    一.什么是HTTP Error 503 ? web服务器不能处理HTTP请求,可能是临时超载或者是服务器进行维护.这意味着你需要忍耐一下,等待服务器的临时处理.在这种状态下,一些服务器可以简单的拒绝s ...

  10. HTTP 503 错误 – 服务不可用 (Service unavailable)

    介绍 因暂时超载或临时维护,您的 Web 服务器目前无法处理 HTTP 请求. 其含义是, 这是一个暂时情况,会有一些延误, 过后将会得到缓解. 有些服务器在这种情况下也许干脆拒绝套接字(socket ...

最新文章

  1. matlab的rvctools,rvctools 机器人工具箱,主要用于 仿真, 型很强。 matlab 270万源代码下载- www.pudn.com...
  2. HTTPS安全证书介绍
  3. CloudStack相关技术-主存储和二级存储
  4. php对接海康视频教程_EasyNVR无插件互联网直播平台对接海康摄像头如何通过SDK将视频在前端网页播放...
  5. topcoder-SRM565-div2-第二题-500分--搜索/动态规划
  6. jquery获取一个table中的一行的每个td的内容
  7. Vmware中mac snow leopard蘋果雪豹系統驅動程式安裝方法
  8. 用pythonnet为计算机视觉做图像整理
  9. 信息学奥赛C++语言:求阶乘
  10. android studio 单元测试用法,基于Android Studio2.1.1 进行单元测试完整教程
  11. 【Vue】—异步组件
  12. linux 虚拟内存分配,是否可以在linux中分配大量虚拟内存?
  13. 北大生物信息学学习(2) 生物学及生物学信息学的发展
  14. 2022最新开源分销商城小程序源码系统前端+后端+搭建教程
  15. 邹博机器学习代码分析(1)-线性回归
  16. Unable to open OMF51 file...
  17. 【3本精挑细选的书籍】网络爬虫推荐书籍(Python)【从0到实践】
  18. Mybatis的一个连接mysql的坑
  19. xy苹果助手未受信任_【安全问题】关于苹果信任问题
  20. 新智慧杂志新智慧杂志社新智慧编辑部2022年第30期目录

热门文章

  1. markdown合并单元格、设置单元格背景颜色和字体颜色
  2. 软件测试工程师职称评定细则
  3. win10 matlab打开,win10系统启动matlab出现闪退的处理步骤
  4. Android分享wifi给电脑,使用Android手机共享手机网络给PC上网
  5. 百度网盘里的html怎么用,百度网盘怎么用?
  6. java poi Excel加密文件导出和下载
  7. 微软全球最有价值专家(MVP) - 中国区2008年7月最有价值专家名录
  8. APP开发者常用的4种推广渠道
  9. 计算机对学习的好处,学习计算机的好处
  10. 广西壮族自治区公安厅信息中心异地容灾系统(三期)项目招标