我無法更新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)行,我不能這樣做,因爲選擇不允許。在沒有文本列的表格上,我沒有任何問題。 –