【问题标题】:i couldn't do a simple select top 1 * from table, and nothing with one table, which posible problems could be?我无法从表中进行简单的 select top 1 *,而一张表也没有,可能会出现哪些问题?
【发布时间】:2012-05-08 15:53:30
【问题描述】:

我收到了这个错误

超时值已过期。完成前超时时间已过 操作或服务器没有响应

我有一个进程,它在晚上进行插入和更新,另一个进程 它也在夜间查询,(etl 或 dts)在 sql server 2005 所以,现在我们需要对这个表进行查询,这不起作用,我想再次运行我的进程,这永远不会完成,并且没有人可以查询这个表,(另一个表可以做)用户评论我,昨天他们可以做,但是今天,他们不可能,我的过程是在晚上执行的,从未完成,它让一个开始交易开放? 我怎么能确定这一点?并从 ssms 关闭它?

这不是我们昨天可以进行查询和插入/更新的权限问题。

它只发生在一张桌子上。

【问题讨论】:

  • 用 sp_lock2 检查锁。
  • 如何使用它? sp_lock2 表名?
  • @zimdanen 我知道我需要创建它,但我们没有权限仅在测试时在此数据库上创建,但我们不能在此数据库
  • 试试 sp_lock。或使用this 查找阻塞。

标签: sql sql-server sql-server-2005 transactions


【解决方案1】:

试试这个:

SELECT TOP 1 * FROM Table (nolock)

这会返回结果吗?如果是这样,听起来像是一个锁定问题..

【讨论】:

    猜你喜欢
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 2017-07-10
    相关资源
    最近更新 更多