如何使用最小锁更新具有nvarchar(max)列的表

时间:2011-11-24 14:29:01

标签: sql-server tsql

我无法更新SQL Server(2005和2008)中的某些行。

通常,当我尝试在运行查询(select * from thistable)时更新一行时, 我启动更新命令,它会因超时/锁定问题而失败。

它只出现在nvarchar(max)/text列的表格中

即使我尝试SELECT * FROM thistable WITH(ROWLOCK),我也会遇到同样的问题。

所以我的基本问题是:

我可以激励SQL Server不要锁定超过实际行吗?

编辑:之后我首先运行SELECT我尝试更新...


关于锁定SQL-Server on simple talk

有一个很好的解释

1 个答案:

答案 0 :(得分:1)

尝试使用:

SELECT * FROM thistable (NOLOCK)

表示您的选择语句。

然后正常运行您的更新。