sybase是一个收费的数据库。如果是测试版,会限制链接数。比较奇葩的是,它释放死掉的链接很慢(不知道是不是设置问题),一个小组的人开发的时候,很快链接就满了,sybase很久都不会主动回收。浪费大量的时间在等待数据库链接资源上。
我们能够根据系统进程表sysprocesses中的status(recv sleep,sleeping)字段看出那些断掉了但是没被回收的链接,定时杀掉这些链接即可。
杀掉链接的存储过程:
create PROCEDURE dbo.sp_killsleepproc
AS
BEGIN
DECLARE @SPID INT
declare @a int
declare @cspid char(20)
DECLARE CUR_SPID CURSOR