İçindekiler:

Veritabanı kilitlenmelerine ne sebep olur?
Veritabanı kilitlenmelerine ne sebep olur?

Video: Veritabanı kilitlenmelerine ne sebep olur?

Video: Veritabanı kilitlenmelerine ne sebep olur?
Video: Diz kilitlenmesi nedir? 2024, Kasım
Anonim

A kilitlenme iki (veya daha fazla) işlem, her bir işlemin ihtiyaç duyduğu kaynaklar üzerinde kilitler tutarak birbirini bloke ettiğinde olur. Örneğin: İşlem 1, Tablo A'da bir kilit tutar. Çoğu kişi bunu yazacaktır. kilitlenmeler çok kullanıcılı bir ortamda kaçınılamaz veri tabanı.

İşte, veritabanındaki kilitlenmeler nedir?

kilitlenmeler . İçinde veri tabanı , a kilitlenme iki veya daha fazla işlemin birbirinin kilitlerden vazgeçmesini beklediği bir durumdur. Örneğin, İşlem A, Hesaplar tablosundaki bazı satırlarda bir kilit tutabilir ve bitirmek için Siparişler tablosundaki bazı satırları güncellemesi gerekebilir.

Ayrıca Bilin, bir seçim kilitlenmeye neden olabilir mi? 2 Cevap. kilitlenme bir sorgu bir nesne (satırlar, veri sayfaları, kapsam, tablolar vb.) üzerinde bir kilit aldığında ve diğer kaynaklar buna erişmeye çalıştığında olur. SQL Server'daki en küçük birim veri sayfalarıdır ve SQL, üzerinde çalışırken sayfada bir kilit tutar. Yani evet iki olabilir Seçme Beyan Yapabilmek oluşturmak kilitlenme.

Ek olarak, veritabanında kilitlenmeyi nasıl önleyebiliriz?

Kilitlenmeleri önlemeye ilişkin ipuçları

  1. Veritabanı tasarımının uygun şekilde normalleştirildiğinden emin olun.
  2. Sunucu nesnelerine her seferinde aynı sırayla erişmek için uygulamalar geliştirin.
  3. İşlemler sırasında herhangi bir kullanıcı girişine izin vermeyin.
  4. İmleçlerden kaçının.
  5. İşlemleri mümkün olduğunca kısa tutun.

Bir kilitlenmeyi nasıl düzeltirsiniz?

Akıllı bir geliştirici, bir kilitlenmeden kurtulmak için aşağıdaki adımları yapmalıdır:

  1. Bir istisna atıldığında 1205 numaralı hata olup olmadığını kontrol edin.
  2. Diğer sorguya işlemini tamamlaması ve edindiği kilitleri serbest bırakması için süre vermek için uygulamayı kısaca duraklatın.
  3. SQL Server tarafından geri alınan sorguyu yeniden gönderin.

Önerilen: