sql server 2000数据库 最近经常出现某进程一直占用资源,阻塞?死锁?
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数据库 最近经常出现某进程一直占用资源,阻塞?死锁?的更多相关文章
- jTDS Java连接SQL Server 2000数据库
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别 是mssqlserver.jar.msutil.ja ...
- 如何创建和还原SQL Server 2000数据库?
说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,虽然现如今SQL Server 2000软件早已经过时了,但仍然有一部分人在使用它,尤 ...
- SQL Server 2000数据库备份与恢复图解
SQL Server 2000数据库备份与恢复图解 四个步骤:1.安装sql server 2000 2.数据库设置: 3.建立自动备份 4.还原数据库 具体图片见附件 本文出自 "李 ...
- 将Microsoft SQL Server 2000数据库转换成MySQL数据库
1. 下载并安装MyODBC.(如果是XP请下载5.3的旧版本,8.x的新版本运行有问题) 2. 创建一个空的MySQL数据库. 3. 在Windows >> 控制面板 >> ...
- SQL SERVER 2000数据库置疑处理
由于服务器意外的断电,导致SQL SERVER服务器上数据库出现“置疑”而无法使用,通过网上搜索,找到以下方法解决问题,这里记录一下: 产生数据库置疑的时侯,数据库文件和日志文件都是存在的,如果数据库 ...
- 加载MySQL、Oracle、SQL Server 2000、SQL Server 2005及以上版本 的加载数据库驱动程序
2018-11-04 20:00:59 开始 //getConnection(String url, String user, String password) //url:连接数据库的URL 3 ...
- 如何在64位系统上安装SQL Server 2000
如何在64位系统上安装SQL Server 2000? 现在用SQL Server 2000数据库的人少了吧?大都是SQL Server 2005/2008了.不过还是有需求的,今天一朋友就让我在他的 ...
- SQL Server 2000的安全配置
SQL Server 2000的安全配置 数据库是电子商务.金融连同ERP系统的基础,通常都保存着重要的商业伙伴和客户信息.大多数企业.组织连同政府 部门的电子数据都保存在各种数据库中,他们用这些数据 ...
- SQL Server 2000安装教程图解
SQL Server 2000安装教程图解... ============= 下面网盘链接中的SQL2000数据库在Win7和Win10系统上安装都是可以正常使用的,只不过是Win10上安装的话,需要 ...
随机推荐
- 如何决定DCOM是否可用
如何决定DCOM是否可用
- 安装mysql 5.7+版本缺少data文件夹
打开cmd命令窗口,并且进入到mysql安装目录的bin目录下.然后输入命令: mysqld --initialize-insecure --user=mysql 然后回车:去目录下查看,已经自动创建 ...
- [小哥Allegro72讲速成视频]
http://v.qq.com/vplus/df932a993679cf80a0b6c87bb849e22c 第01讲 Allegro常用组件介绍 视频链接:http://v.qq.com/boke/ ...
- 数据转换成json传递
//将奖励转换成json格式 _page.StrRewardToJson = function () { var hdReward = $("#hdReward").find(&q ...
- ios UINaviBar 去除分割线
//For a custom shadow image to be shown, custom background image must also be set with the setBackgr ...
- 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 ...
- textview 弹出键盘上面添加完成按钮,并设置输入内容的格式。
- (void)setContentView{ self.contentTextView = [[UITextView alloc]initWithFrame:CGRectMake(11, 70, S ...
- centos6.4安装Apache+MySQL+PHP
一.安装 MySQL 首先来进行 MySQL 的安装.打开超级终端,输入: [root@localhost ~]# yum install mysql mysql-server 安装完毕,让 MySQ ...
- 【接口测试】jmeter的使用
学习地址: https://ke.qq.com/webcourse/index.html#course_id=89002&term_id=100088372&taid=15345918 ...
- maven项目报:An error occurred while filtering resources
maven项目在problem中报: An error occurred while filtering resources 解决方法: 右键项目-maven-update project..