首页 新闻 会员 周边 捐助

SQL查大量数据是整个SQL卡死必须要重启MSSQLSERVER

0
[已解决问题] 解决于 2021-07-13 15:31

客户端查询大量数据是导致sql卡死,Timeout 时间已到,在操作完成之前超时时间已过或服务器未响应。必须重启了MSSQLSERVER的服务才能继续对sql 数据进行操作要怎么弄

LuoCore的主页 LuoCore | 初学一级 | 园豆:122
提问于:2017-05-04 14:33
< >
分享
最佳答案
0

基本上是因为死锁了

奖励园豆:5
西漠以西 | 小虾三级 |园豆:1675 | 2017-05-04 16:12
其他回答(3)
0

需要提高技术水平,优化数据库设计和软件设计。

 

简单一点的方法是加CPU,加内存,升级硬盘....

爱编程的大叔 | 园豆:30844 (高人七级) | 2017-05-04 15:43
0

你重启sqlserver的服务?这个不至于吧,大不了再开个client连上去kill掉之前的查询就完了。

死锁是不可能的,死锁不会导致timeout

从很大的表中查询很大的数据这个除了限制查询结果集大小外没太好办法(前提索引正确)

Daniel Cai | 园豆:10424 (专家六级) | 2017-05-04 17:15

谢谢,目前我也没找到问题的原因。但是sqlServer的内存一直占用服务器很高的内存

支持(0) 反对(0) LuoCore | 园豆:122 (初学一级) | 2017-10-20 14:51

@键盘上落下的泪: sqlserver对内存占用很高这个很正常,当然你也可以强制它使用最高多少内存。你之前所说的sql服务需要重启是不是笔误?你指的只是sql的查询客户端吧。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2017-10-20 14:55

@Daniel Cai: 

不是,就是当这个360的球球达到90以后我只有重启MSSQLSERVER客户端才能继续操作数据库了。我也是一个新手也不是很懂。但是目前我只能通过这种办法来恢复

支持(0) 反对(0) LuoCore | 园豆:122 (初学一级) | 2017-10-20 14:59

@键盘上落下的泪: 你是否查询的数据可能的返回数量太大了?这样客户端需要很长时间来fetch的。如果只是一般看看数据的话都是查那么一两条,带个top n或者count下而已

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2017-10-20 16:29
0

我觉得也是死锁了,请问下这个怎么解决的,

LuoCore | 园豆:122 (初学一级) | 2017-05-04 19:51

死锁是不会导致timeout的,死锁会被数据库直接检查出来后选择一个代价小的牺牲掉。

你该检查的是你查询的语句是否能有效的使用索引,这个才是关键。

支持(0) 反对(0) Daniel Cai | 园豆:10424 (专家六级) | 2017-05-05 13:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册