--未试用过,不知是否可行;
在使用用友U8财务系统的时候,经常发现有人将其他人锁住,使其工作停顿。使用定时任务将锁住他人的进程取消。
在SQL SERVER系统中,没有找到一个设置可以指定在用户空闲多少时间后自动断开连接(本身对SQL SERVER就不是很感兴趣,又没有多少时间去研究学习。)。可是,在用友U8系统中,总是经常会出现有人将其他人锁住的情况(好象SQL SERVER的锁要比ORACLE的复杂),于是就不停的有人打电话过来说系统死掉了。刚开始的时候还发懵,我这边好好的,你怎么就死掉了呢?后来发现是锁的原因。也不知道是该埋怨SQL SERVER,还是该埋怨用友,想来想去,其他部门的只会埋怨我!
干脆自己写个任务,管你是正常任务,还是异常退出,反正只要锁住其他人超过10分钟,就把你干掉!
本以为事情了结了,结果发现用户还是很聪明的:以前可以跟他们说系统慢,让他们等会儿;现在可好,别人一打电话来就说,我的系统又锁住了,帮我解开!算了,时间缩短到5分钟吧。结果还不行!只好将等待时间减少到两分钟了。要是还打电话过来,就告诉他们,系统现在用的人很多,耐心等待两分钟就OK了!
/*
* 定时释放锁
* Pond Ka
* 2004年8月18日
* 试运行1.0
*
* 财务用友U8系统中,常常出现用户被其他用户锁住,系统不能正常运行的情况。
* 在这种情况下,需要手工将有锁的进程取消掉。
* 此功能将手工更改为自动运行。
*
* 在数据库系统中,作为任务,每1分钟运行一次。
*
* 取消进程的条件:
* 1、锁住了其他进程。
* 2、自身没有被其他进程锁住。
* 3、此进程已经空闲了2分钟以上。
*
*/
DECLARE
@USER_ID INT
, @KILLCMD VARCHAR(100)
, @WAIT_TIME INT
-- 设置空闲时间
SET @WAIT_TIME = 2;
-- 根据选择条件,选择出应该取消的进程
DECLARE cur_lock CURSOR FOR
SELECT spid
FROM master..sysprocesses
WHERE
DATEDIFF(minute, last_batch, getdate()) > @WAIT_TIME
AND blocked = 0
AND spid IN
(SELECT blocked
FROM master..sysprocesses);
-- 取消所有选择出的进程。
OPEN cur_lock;
FETCH NEXT FROM cur_lock INTO @USER_ID;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @KILLCMD = 'kill ' + CAST(@USER_ID AS VARCHAR);
EXECUTE (@KILLCMD);
FETCH NEXT FROM cur_lock INTO @USER_ID;
END;
CLOSE cur_lock;
DEALLOCATE cur_lock;
分享到:
相关推荐
组态王支持与多种类型的SQL数据库进行交互,如Microsoft SQL Server、MySQL等。连接数据库时,用户需要提供正确的服务器地址、数据库名、用户名和密码。如果忘记或丢失了组态王密码,这将影响到数据库的正常操作。在...
在IT行业中,数据库是至关重要的数据存储和管理工具,尤其是SQL数据库,如MySQL、SQL Server、Oracle等。在企业环境中,确保数据的安全性和可靠性是必不可少的。"SQL数据库自动双重备份"是一个关键的实践,旨在保护...
在安装完成后,用户需要这个激活码来解锁全部功能。激活码通常由一系列字母和数字组成,它是软件开发商为了防止非法复制和使用而采取的一种保护措施。用户需要按照软件内的提示输入这个激活码,以确保软件的合法使用...
5. **设置定时**:启用SQL*Plus中的定时功能,显示SQL语句执行时间。 6. **创建表**:创建`customer`表,包含客户姓名、性别、年龄等字段。 7. **创建关联表**:创建`buy`表,包含购买ID、购买名称、数量、价格及...
在描述中提到的“有激活码 挺好用的mysql工具 让你操作的时候像操作sqlserver一样方便”,这暗示了该工具具有类似SQL Server Management Studio的功能,为MySQL用户提供了一种熟悉的使用体验。 Navicat 是由...
Navicat是一款强大的数据库管理工具,它允许用户连接并管理多种类型的数据库,包括MySQL、SQL Server和Oracle,这正是标签所提到的三大数据库系统。Navicat10可能是其10.0版本,提供对这些数据库的集中管理和开发...
- 备份:MS SQL Server提供了多种备份类型,如完整备份、差异备份和事务日志备份,手册可能指导如何使用SQL Server Management Studio执行这些操作。 - 恢复:涵盖使用T-SQL语句或Management Studio进行数据库恢复...
1. **数据库管理**:华中帝国2011解封版1433是数据库管理系统,可能包含对SQL Server 1433端口的支持,这是SQL Server默认的远程连接端口。它允许用户创建、修改、查询和管理数据库,包括表、视图、存储过程等数据库...
这包括对MySQL、SQL Server等流行数据库系统的支持,使得数据库管理员、开发人员和分析师能够在不同的数据库环境中无缝工作。 描述中提到,Navicat是“完全免费”的,这一点需要澄清。实际上,Navicat有免费试用版...
【Navicat Premium】是一款强大的数据库管理工具,它支持多种数据库管理系统,包括MySQL、MariaDB、Oracle、SQL Server、PostgreSQL、SQLite以及SQL Server Azure等。这款软件以其多平台兼容性和用户友好的界面赢得...
实例226 对SQLServer数据库进行录入和提取多媒体文件 实例227 对SQL Server数据库进行录入和存储Word文档 8.10 数据备份恢复 实例228 Access数据库备份与还原 实例229 SQL Server数据库备份与恢复 实例230 ...
实例226 对SQLServer数据库进行录入和提取多媒体文件 实例227 对SQL Server数据库进行录入和存储Word文档 8.10 数据备份恢复 实例228 Access数据库备份与还原 实例229 SQL Server数据库备份与恢复 实例230 ...
Navicat是一款强大的数据库管理工具,支持多种数据库系统如MySQL、Oracle、PostgreSQL、SQLite、SQL Server和MariaDB。它的核心功能在于提供了一个统一的图形用户界面(GUI),使得数据库的管理和操作变得更为便捷和...
【Navicat Premium cs数据库连接】是一款强大的数据库管理和开发工具,专为支持多种数据库系统而设计,包括MySQL、MariaDB、Oracle、SQL Server等。它以其直观的用户界面和丰富的功能集,使得数据库管理和开发变得...
Navicat11是该系列的一个版本,适用于多种数据库管理系统,包括MySQL、PostgreSQL、Oracle、SQL Server等。这个压缩包"Navicat11.rar"包含了安装程序和可能的注册机文件,用于激活软件。 首先,Navicat11的安装过程...
Navicat Premium是一款备受赞誉的多数据库管理工具,专为MySQL、MariaDB、Oracle、SQL Server等多种数据库提供一体化的解决方案。该软件的11.2.7简体中文版尤其受到中国用户的欢迎,它为数据库开发人员和管理员提供...
- **多数据库支持**:Navicat 9支持多种主流数据库类型,包括MySQL、Oracle、SQL Server、PostgreSQL等,让用户在一个统一的界面下管理不同类型的数据库。 - **数据可视化**:提供图表和报表生成功能,帮助用户直观...
通常,这类系统可能采用Java或C#等后端语言进行服务器端开发,利用数据库技术如MySQL或SQL Server来存储和管理大量数据,前端可能采用HTML5、CSS3和JavaScript构建用户交互界面。同时,为了实现高效的数据传输,可能...
Navicat 是一款强大的数据库管理工具,由 PremiumSoft 公司开发,提供了一站式的解决方案,让用户能够轻松地通过图形化界面管理多种数据库类型,包括 MySQL、MariaDB、Oracle、SQL Server、PostgreSQL 和其他更多。...