すべての分離タイプを調べました。SQL Server分離レベルの問題
しかし、私が望むモードが見つかりませんでした。
トランザクション中に他のトランザクションで読み取ることができます。 しかし、更新と削除のデータは追加されません。例えば
(擬似コード):
は、このような分離レベルがあります
create table abc
(id uniqueidentifier primary key)
Create proc procMain
trans isolation level **??????**
insert abc (id) values (newid())
Waiting 10 minute
commit
Create proc procREAD
select * from abc
Create proc procAdd
insert abc (id) values (newid())
create proc procUpdate
update abc id = newid()
create proc procDelete
delete from abc
now;
exec procMain (abc table access read only and for other access: LOCKED)
(waiting...)
exec procRead (OK) (Readable)
exec procAdd (NO - never) (locked)
exec procUpdate (NO - never) (locked)
exec procDelete (NO - never) (locked)
おかげで...? (トランザクション分離レベル?)
データの更新や削除を禁止する分離レベルはありません。それは孤立レベルが何をすべきかではありません。 – TcKs
実際には、シリアライズレベルを選択します。しかし、テーブル全体がロックされています。行ベースの直列化分離レベルはありますか? –