紧急求救

Edifier0709 2010-07-02 04:30:46
问题如下:
数据库出现UPDATE超时情况
但是SELECT正常

使用DBCC CHECKTABLE检查某个表后又恢复正常

过一段时间又出现UPDATE超时,如此反复几次了

暂时还不知道是什么问题引起的

麻烦有经验的朋友帮忙看看是什么原因?如何处理?
...全文
125 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Edifier0709 2010-07-06
  • 打赏
  • 举报
回复
有经验的朋友帮忙看看吧
Edifier0709 2010-07-06
  • 打赏
  • 举报
回复
问题补充:

如果UPDATE语句的条件是WHERE ID列(主键、聚集索引),更新没有问题

如果UPDATE语句的条件是其他列(如:带有非聚集索引的列) 更新超时
guguda2008 2010-07-02
  • 打赏
  • 举报
回复
我猜的,可能是某些语句的低级别锁没释放,这些锁与X锁冲突但与S锁不冲突,所以不能更新可以读取,在UPDATE超时时看一下是被什么锁锁住了
Edifier0709 2010-07-02
  • 打赏
  • 举报
回复
如果是死锁了 SELECT也应该有问题呀
lfzwenzhu 2010-07-02
  • 打赏
  • 举报
回复
死锁的话会出现这个问题
claro 2010-07-02
  • 打赏
  • 举报
回复
update top 10 试试
SQL_Hhy 2010-07-02
  • 打赏
  • 举报
回复
友情帮顶
Edifier0709 2010-07-02
  • 打赏
  • 举报
回复
再补充一下

UPDATE不是某个表UPDATE超时 是其他表也超时

但是SELECT都是正常的
Edifier0709 2010-07-02
  • 打赏
  • 举报
回复
奇怪的是DBCC CHECKTABLE执行后又可以恢复正常

过几个小时又是如此
Edifier0709 2010-07-02
  • 打赏
  • 举报
回复
阻塞情况可以排除

SP_LOCK SP_WHO_LOCK 没有看到该表UPDATE引起的阻塞或死锁
guguda2008 2010-07-02
  • 打赏
  • 举报
回复
对于指定的表,DBCC CHECKTABLE 将检查以下内容:

是否已正确链接索引、行内、LOB 以及行溢出数据页。


索引是否按照正确的顺序排列。


各指针是否一致。


每页上的数据是否合理(包括计算列)。


页面偏移量是否合理。


基表的每一行是否在每个非聚集索引中具有匹配的行,以及非聚集索引的每一行是否在基表中具有匹配的行。


已分区表或索引的每一行是否都位于正确的分区中。


使用 FILESTREAM 将 varbinary(max) 数据存储在文件系统中时,文件系统与表之间是否保持链接级一致性。
feixianxxx 2010-07-02
  • 打赏
  • 举报
回复
索引建多了?。。
xuam 2010-07-02
  • 打赏
  • 举报
回复
更新事务没有提交,锁住了???
guguda2008 2010-07-02
  • 打赏
  • 举报
回复
没遇到过,帮顶蹭分

22,301

社区成员

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

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