SQL Server 2008超时过期错误

时间:2012-05-18 14:11:49

标签: sql sql-server sql-server-2008 asp-classic

我有一个简单的SQL调用,如: -

select col1,col2 from table1

有时系统运行以下内容: -

update table1 
set col3 = 'something' 
where col1 ='s1' and col2 ='s2'

这些查询是在我们服务器上运行的各种应用程序上运行的,它只发生在一个有100k行的表上。

我有数百万行的表 - 它们没有超时,但不确定为什么会这样做。

这些查询全天运行没有任何问题,但有时在白天 - 特别是在高峰时段 - 它们会因错误而失败 - 超时到期 -

请告诉我,我可以尝试解决此错误

我是否需要执行某种类型的锁定?

如果用户正在更新评论,然后系统上的其他用户尝试更新表中的同一行,那么它是否正确 - 它会超时第二个用户因为该行被锁定以进行编辑 - 是否有办法那个?

1 个答案:

答案 0 :(得分:2)

我找到了答案 - 因为它是旧系统中的一个表 - 以前的用户没有添加一个主键,认为那里已经有一个虚拟主键,但它不对。

由于sql编辑时间太长而且会超时。

所以我只是在表格中制作了一个复合键,现在它正常工作。

结论 - 如果您打算处理更新,删除数据,那么永远不要有没有主键的表

感谢大家的评论