SQL Server(2005および2008)の一部の行を更新するのに問題があります。最小限のロックでnvarchar(max)列のテーブルを更新する方法
実行中のクエリ(select * from thistable
)のある行を更新しようとすると、 私は更新コマンドを開始しますが、タイムアウト/ロックの問題により失敗します。
nvarchar(max)/text
列の表にのみ表示されます。
SELECT * FROM thistable WITH(ROWLOCK)
にしようとしても同じ問題が発生します。
だからここに私の基本的な質問です:
は、私が実際の行よりも多くのロックしないでSQL Serverのやる気を引き出すことはできますか?
編集:私は、最初のSQL-Serverでロックに多大な説明があり
...私は更新しようその後SELECTを実行on simple talk
@marc_s:なぜこれらのロックを1回更新するのですか? –
@marc_s:私のための解決策はありませんか? –
@marc_s:あなたは私の問題を理解していないと思います。私はselect(1)行だけを更新します。selectはそれを許可していないため、行えません。テキスト列のないテーブルでは問題はありません。 –