Sql进程问题


1. 如果条件许可, 首先把iis和sql server分到两台服务器中, 这样可以避免两者互相影响, 也有利于查找直接的原因.(例如, 由于IIS工作缓慢, 可能会导致不断的向sql发请求, 这样看起来似乎就是sql server的问题) 2. 如果要查询是否连接没有释放引起的, 你可以用查询分析器连接到你的数据库服务器, 执行下面的代码: select * from master.dbo.sysprocesses where spid>50 and waittype = 0x0000 and waittime = 0 and status = 'sleeping' and last_batch < dateadd(minute, -10, getdate()) and login_time < dateadd(minute, -10, getdate()) 如果这样的进程很多, 则说明连接确实有很多连接没有释放(上面的查询查询出已经超过10分钟都没有做任何动作的连接) 3. 如果确实是连接没有释放的问题, 你可以硬行释放连接, 不一定要改程序. 在sql server中, 创建一个job, 每10分钟一次, 执行下面的代码来定时检查并释放掉空连接就可以了: declare hcforeach cursor global for select 'kill ' + rtrim(spid) from master.dbo.sysprocesses where spid>50 and waittype = 0x0000 and waittime = 0 and status = 'sleeping' and last_batch < dateadd(minute, -60, getdate()) and login_time < dateadd(minute, -60, getdate()) exec sp_msforeach_worker '?'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值