IsolationLevel Sabit listesi

Tanım

Bir işlemin yalıtım düzeyini belirtir.

public enum class IsolationLevel
public enum IsolationLevel
type IsolationLevel = 
Public Enum IsolationLevel
Devralma
IsolationLevel

Alanlar

Chaos 5

Daha yüksek oranda yalıtılmış işlemlerdeki bekleyen değişikliklerin üzerine yazılamaz.

ReadCommitted 2

Geçici veriler işlem sırasında okunamaz, ancak değiştirilebilir.

ReadUncommitted 3

Geçici veriler işlem sırasında okunabilir ve değiştirilebilir.

RepeatableRead 1

Geçici veriler okunabilir ancak işlem sırasında değiştirilemez. İşlem sırasında yeni veriler eklenebilir.

Serializable 0

Geçici veriler okunabilir ancak değiştirilemez ve işlem sırasında yeni veri eklenemez.

Snapshot 4

Geçici veriler okunabilir. Bir işlem verileri değiştirmeden önce, ilk okunduktan sonra başka bir işlemin verileri değiştirip değiştirmediğini doğrular. Veriler güncelleştirildiyse bir hata oluşur. Bu, bir işlemin verilerin daha önce kaydedilmiş değerine ulaşmasını sağlar.

Yalıtım düzeyiyle Snapshot oluşturulmuş bir işlemi yükseltmeye çalıştığınızda, "IsolationLevel Anlık Görüntüsü ile İşlemler yükseltilemiyor" hata iletisiyle bir InvalidOperationException oluşturulur.

Unspecified 6

Belirtilenden farklı bir yalıtım düzeyi kullanılıyor, ancak düzey belirlenemiyor. Bu değer ayarlanırsa bir özel durum oluşturulur.

Açıklamalar

Bir işlemden etkilenen veriler geçici olarak adlandırılır. Bir işlem oluşturduğunuzda, işlem için geçerli olan yalıtım düzeyini belirtebilirsiniz. İşlemin yalıtım düzeyi, bir işlem tamamlanmadan önce diğer işlemlerin verileri geçici olarak geçici hale getirmek için sahip olduğu erişim düzeyini belirler.

En düşük yalıtım düzeyi olan ReadUncommitted, birçok işlemin aynı anda bir veri deposunda çalışmasına olanak tanır ve kesintiye neden olan işlemler nedeniyle veri bozulmasına karşı koruma sağlamaz. En yüksek yalıtım düzeyi olan Serializable, kesintiye neden olan işlemlere karşı yüksek düzeyde koruma sağlar, ancak diğer işlemlerin veriler üzerinde çalışmasına izin verilmeden önce her işlemin tamamlanmasını gerektirir.

bir işlemin yalıtım düzeyi, işlem oluşturulduğunda belirlenir. Varsayılan olarak, System.Transactions altyapı işlemleri oluşturur Serializable . Bir işlemin özelliğini kullanarak Transaction.IsolationLevel mevcut bir işlemin yalıtım düzeyini belirleyebilirsiniz.

Şunlara uygulanır