OA的数据库最近多次出现某进程一直占用资源,导致其他进程无法执行。使用sp_who2 和 sql server profiler跟踪查询,发现有以下几个语句常常占用资源:

1、declare @P1 int set @P1=NULL declare @P2 int set @P2=0 declare @P3 int set @P3=0

exec sp_cursorprepexec @P1 output, @P2 output, N'@P0 nvarchar(4000)',

N'SELECT COUNT(*) AMOUNT FROM (
SELECT DISTINCT WFWorkItem.processChName as processChName,WFWorkItem.workItemDesc as workItemDesc,
...
from WFWorkItem ,WFWIParticipant
where WFWorkItem.workItemID = WFWIParticipant.workItemID
and (WFWorkItem.currentState = 10 AND WFWorkItem.participant = @P0 AND WFWIParticipant.partiInType=''EXE'')) T1 ',
4112, 1, @P3 output, N'chenhuifeng' select @P1, @P2, @P3

2、declare @P1 int set @P1=72 declare @P2 int set @P2=180150071 declare @P3 int set @P3=0 

exec sp_cursorprepexec @P1 output, @P2 output, N'@P0 nvarchar(4000),@P1 nvarchar(4000)',
N'SELECT COUNT(*) AMOUNT FROM (
SELECT DISTINCT BH BH,BT BT,RQ RQ,

...
FROM V_CNMC_WFWOCANYULIUCHEN WHERE V_CNMC_WFWOCANYULIUCHEN.MKDM=@P0
and V_CNMC_WFWOCANYULIUCHEN.participant=@P1 ) T1 ', 4112, 1, @P3 output, N'411', N'puxin' select @P1, @P2, @P3

3、 set transaction isolation level  read committed

这三条语句都是由普元eos工作流平台产生的,我们的OA使用了该平台,因此我们无法修改这些语句。

后来咨询数据库专家zz,回复说可能是sql server 2000 的问题。后来上网搜索,原来好多人遇到sql 2000出现数据库阻塞的现象,原因是sql2000在程序A对表Table1进行DML操作的时候,如果其他程序想Select 该Table1就会等待,知道程序A的DML操作结束,以免“脏读”。

我估计就是某DML操作一直进行,导致后面的select操作就一直等待。

新的问题又来了:

1、为什么以上列出的三条语句会一直占用资源?

2、OA已经用了至少5个年头,为什么最近会频繁出现阻塞?

3、之前有段时间出现过类似问题,但重启EOS服务就好了,然后一年多都没问题,这个又怎么解释?这一年也是每天用,总数据量也不大,目前工作流主表不到2W行数据。

暂时的解决方案是:升级sql server。

sql server 2000数据库 最近经常出现某进程一直占用资源,阻塞?死锁?的更多相关文章

  1. jTDS Java连接SQL Server 2000数据库

    Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...

  2. 如何创建和还原SQL Server 2000数据库?

    说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,虽然现如今SQL Server 2000软件早已经过时了,但仍然有一部分人在使用它,尤 ...

  3. SQL Server 2000数据库备份与恢复图解

    SQL Server 2000数据库备份与恢复图解   四个步骤:1.安装sql server 2000 2.数据库设置: 3.建立自动备份 4.还原数据库  具体图片见附件 本文出自 "李 ...

  4. 将Microsoft SQL Server 2000数据库转换成MySQL数据库

    1. 下载并安装MyODBC.(如果是XP请下载5.3的旧版本,8.x的新版本运行有问题) 2. 创建一个空的MySQL数据库. 3. 在Windows >> 控制面板 >> ...

  5. SQL SERVER 2000数据库置疑处理

    由于服务器意外的断电,导致SQL SERVER服务器上数据库出现“置疑”而无法使用,通过网上搜索,找到以下方法解决问题,这里记录一下: 产生数据库置疑的时侯,数据库文件和日志文件都是存在的,如果数据库 ...

  6. 加载MySQL、Oracle、SQL Server 2000、SQL Server 2005及以上版本 的加载数据库驱动程序

    2018-11-04  20:00:59 开始 //getConnection(String url, String user, String password) //url:连接数据库的URL 3 ...

  7. 如何在64位系统上安装SQL Server 2000

    如何在64位系统上安装SQL Server 2000? 现在用SQL Server 2000数据库的人少了吧?大都是SQL Server 2005/2008了.不过还是有需求的,今天一朋友就让我在他的 ...

  8. SQL Server 2000的安全配置

    SQL Server 2000的安全配置 数据库是电子商务.金融连同ERP系统的基础,通常都保存着重要的商业伙伴和客户信息.大多数企业.组织连同政府 部门的电子数据都保存在各种数据库中,他们用这些数据 ...

  9. SQL Server 2000安装教程图解

    SQL Server 2000安装教程图解... ============= 下面网盘链接中的SQL2000数据库在Win7和Win10系统上安装都是可以正常使用的,只不过是Win10上安装的话,需要 ...

随机推荐

  1. 如何决定DCOM是否可用

    如何决定DCOM是否可用  

  2. 安装mysql 5.7+版本缺少data文件夹

    打开cmd命令窗口,并且进入到mysql安装目录的bin目录下.然后输入命令: mysqld --initialize-insecure --user=mysql 然后回车:去目录下查看,已经自动创建 ...

  3. [小哥Allegro72讲速成视频]

    http://v.qq.com/vplus/df932a993679cf80a0b6c87bb849e22c 第01讲 Allegro常用组件介绍 视频链接:http://v.qq.com/boke/ ...

  4. 数据转换成json传递

    //将奖励转换成json格式 _page.StrRewardToJson = function () { var hdReward = $("#hdReward").find(&q ...

  5. ios UINaviBar 去除分割线

    //For a custom shadow image to be shown, custom background image must also be set with the setBackgr ...

  6. The CLR's Thread Pool

    We were unable to locate this content in zh-cn. Here is the same content in en-us. .NET The CLR's Th ...

  7. textview 弹出键盘上面添加完成按钮,并设置输入内容的格式。

    - (void)setContentView{ self.contentTextView = [[UITextView alloc]initWithFrame:CGRectMake(11, 70, S ...

  8. centos6.4安装Apache+MySQL+PHP

    一.安装 MySQL 首先来进行 MySQL 的安装.打开超级终端,输入: [root@localhost ~]# yum install mysql mysql-server 安装完毕,让 MySQ ...

  9. 【接口测试】jmeter的使用

    学习地址: https://ke.qq.com/webcourse/index.html#course_id=89002&term_id=100088372&taid=15345918 ...

  10. maven项目报:An error occurred while filtering resources

    maven项目在problem中报: An error occurred while filtering resources   解决方法: 右键项目-maven-update project..