Sql Server 数据库锁过多的问题

fym37 2006-02-24 10:23:53
目前运行一个基于B/S结构的应用,发现数据库锁过多(50多个),锁类型为DB,模式S,状态GRANT,所有者Sess。
看了几个锁,里面Sql语句为select * FROM OA_Online where Staff_ID = 296
Select name from sysobjects where [name] = 'GrphIndex'
Select @@IDENTITY等等,有些是重复的。
不知何故?望高手指点。
...全文
158 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ashzs 2006-02-25
  • 打赏
  • 举报
回复
没有使用高级别事务,那可能是你的OA_Online表频繁被查询,更新导致的锁。这时系统自动进行的控制。如果不影响你程序的使用,你可以先不用管它。

建立的数据库连接,在不用的时候一定要及时断开。
fym37 2006-02-25
  • 打赏
  • 举报
回复
另外经常出现连接超时,可能是已经使用连接池并且达到连接最大数等等
fym37 2006-02-25
  • 打赏
  • 举报
回复
高事务隔离级别? 在做查询的时候我是没有使用事务的。
当我模拟多线程无限制的访问的时候,发现数据库连接100个。DB锁100个,与查询有关的表也被锁起来了。
不知道这样正常吗?
hisi 2006-02-24
  • 打赏
  • 举报
回复
注意在你的程序中,查询执行完毕就close你的connection
neil1998 2006-02-24
  • 打赏
  • 举报
回复
应该不会一直占用的,过会会释放的
ashzs 2006-02-24
  • 打赏
  • 举报
回复
1、DB的S是数据库共享锁,没什么问题。

2、
select * FROM OA_Online where Staff_ID = 296

这是可能有别的连接在修改OA_Online表,而没有结束。或者你用了高事务隔离级别。这个需要注意!

3、
Select name from sysobjects where [name] = 'GrphIndex'
是对数据库元数据中关于GrphIndex这个的查询,你暂时不用管。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧