我无法更新SQL Server(2005和2008)中的某些行。如何用最小的锁更新nvarchar(max)列
通常,当我尝试在运行查询(select * from thistable
), 时尝试更新一行时,我会启动更新命令并且由于超时/锁定问题而失败。
它只出现在nvarchar(max)/text
列的表上!
即使我试图SELECT * FROM thistable WITH(ROWLOCK)
,我确实遇到同样的问题。
所以我在这里的基本问题是:
我可以激励SQL Server不要锁定超过实际行?
编辑:我先运行SELECT之后,我尝试更新...
有在SQL-服务器锁定一个很好的解释on simple talk
@marc_s:为什么我得到这些锁进行更新? –
@marc_s:所以你没有解决方案吗? –
@marc_s:我想你不明白我的问题。我只更新一(1)行,我不能这样做,因为选择不允许。在没有文本列的表格上,我没有任何问题。 –