Aracılığıyla paylaş


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

Name Değer Description
Serializable 0

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

RepeatableRead 1

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

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.

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şabilmesini 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.

Chaos 5

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

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 yalıtım düzeyini belirtebilirsiniz. bir işlemin yalıtım düzeyi, bir işlem tamamlanmadan önce diğer işlemlerin hangi erişim düzeyinin verileri geçici hale getirmek zorunda olduğunu belirler.

En düşük yalıtım düzeyi olan , ReadUncommittedbirç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 , Serializablekesintiye 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