SQL SERVER2008 有大神吗,需要帮助,有偿

2021-03-29 18:45:23 +08:00
 bwd1991
HIS 数据库这几天一直死锁,应该是门诊几个表有问题,但是表、索引都重新创建过了。其他服务器也还原过数据库还是这样,有大神能解决吗?
之前会死锁大约一周 1-2 次,现在是一直锁
2795 次点击
所在节点    数据库
39 条回复
bwd1991
2021-03-29 18:51:38 +08:00
求帮助 要通宵了 o(╥﹏╥)o
chuckzhou
2021-03-29 19:05:30 +08:00
你是用的 sql 还是 oracle ?
chuckzhou
2021-03-29 19:06:14 +08:00
哦,sql,开 profiler 看了吗
bwd1991
2021-03-29 19:12:20 +08:00
@chuckzhou 看了 开始锁集中在几个表 都导表了 表也重新建了
redtea
2021-03-29 19:12:46 +08:00
看到 his 就想到夏某某破坏医疗领域提供公共服务的计算机信息系统,被判刑 5 年多。
zjlin1984
2021-03-29 19:13:27 +08:00
估计你的 sql 查询很耗资源
bwd1991
2021-03-29 19:15:57 +08:00
@zjlin1984 服务器跑不满 现在是 32 核 300G 内存 之前没问题 今天不知道怎么回事 能提供个思路吗
chuckzhou
2021-03-29 19:16:25 +08:00
@bwd1991 先减少排查范围,逐步注释掉并发的 sql,看哪个没了之后不死锁
bwd1991
2021-03-29 19:16:46 +08:00
@redtea 应该不是 被攻击的话应该瘫了
bwd1991
2021-03-29 19:17:33 +08:00
@chuckzhou 代码没有。。我们十几个测试没问题,门诊量一上来就崩了
bwd1991
2021-03-29 19:19:20 +08:00
@chuckzhou 会和索引的 PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = OFF, ALLOW_PAGE_LOCKS = OFF

这些属性有关系吗
dswyzx
2021-03-29 19:21:48 +08:00
chuckzhou
2021-03-29 19:32:27 +08:00
@bwd1991 ALLOW_ROW_LOCKS 和 ALLOW_PAGE_LOCKS 改成 on 试试,一般这个都打开的。
bwd1991
2021-03-29 20:03:07 +08:00
@chuckzhou o(╥﹏╥)o 上午是开着的 下午才关上 还能有什么原因吗
chuckzhou
2021-03-29 20:20:07 +08:00
@bwd1991 死锁的语句是什么啊?
Leigg
2021-03-29 20:26:34 +08:00
不要说废话,直接贴日志。
bwd1991
2021-03-29 20:35:00 +08:00
@chuckzhou 下面的函数和一个单条更新语句
ALTER PROCEDURE [dbo].[GetIcCardBalance]
@sID varchar(12),
@balance decimal(10,2) out

AS
BEGIN

set @balance = 0

set @balance = (select isnull(balance,0) from ic_register (NOLOCK) where patient_id = @sID) -

isnull((select sum(isnull(charge_price * charge_amount*caoyao_fu,0))

from mz_detail_charge WITH (nolock) where patient_id = @sID and charge_status = '2'),0)

--set @balance = dbo.GetICRealBalance(@sID)

if @@error = 0 return 0

else

return -1

END
chuckzhou
2021-03-29 21:20:46 +08:00
@bwd1991 都是 nolock,看不出来有什么问题
ferock
2021-03-29 21:28:50 +08:00
@bwd1991 #7

最烦微软系的堆硬件,一点技术含量都没有,系统资源那么丰富量一上来还不是挂,前期代码能力后期运维能力才是关键。
bwd1991
2021-03-29 22:00:09 +08:00
@ferock 没办法 医疗行业都是这样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/766254

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX