更新包含子查询时SQL Compact锁定超时

时间:2011-09-07 13:13:21

标签: locking sql-server-ce

我正在使用SQL Server Compact 3.5 SP2(3.5.8085.0),但无法完成更新语句。

以下是我的更新声明:

UPDATE MyTable
  SET ColumnB = 'SomeOtherValue'
WHERE ColumnA IN (
  SELECT TOP(90000)
    ColumnA
  FROM MyTable
  WHERE ColumnB = 'SomeValue'
  ORDER BY ColumnA
)

此查询将在5秒到1小时之间的任何时间运行。它很少会完成,但大部分时间我都会:

  

重大错误0x80004005,次要错误25090

     

SQL Server Compact超时等待锁定。默认锁定时间   设备为2000毫秒,台式机为5000毫秒。默认锁定   使用ssce可以在连接字符串中增加超时:   默认锁定超时属性。 [Session id = 1,Thread id =   6876,进程id = 5712,表名= MyTable,冲突类型= iu lock(u   块),资源= TAB]

我很肯定这个数据库没有其他连接。只有我的SSMS查询。

思想?

0 个答案:

没有答案