Mundarija:

Ma'lumotlar bazasi blokirovkalariga nima sabab bo'ladi?
Ma'lumotlar bazasi blokirovkalariga nima sabab bo'ladi?

Video: Ma'lumotlar bazasi blokirovkalariga nima sabab bo'ladi?

Video: Ma'lumotlar bazasi blokirovkalariga nima sabab bo'ladi?
Video: Ma'lumotlar va ma'lumotlar bazasi nima? 2024, May
Anonim

A boshi berk ko'cha Ikki (yoki undan ko'p) tranzaktsiyalar har bir tranzaktsiyaga kerak bo'lgan resurslarni blokirovka qilish orqali bir-birini bloklaganda sodir bo'ladi. Masalan: 1 tranzaksiyada A jadvalida qulf bor. Ko'pchilik buni yozadi boshi berk ko'chada ko'p foydalanuvchidan qochib bo'lmaydi ma'lumotlar bazasi.

Mana, ma'lumotlar bazasidagi qulflar nima?

O'lik qulflar . a.da ma'lumotlar bazasi , a boshi berk ko'cha ikki yoki undan ortiq tranzaktsiyalar bir-birining qulfdan voz kechishini kutayotgan vaziyatdir. Misol uchun, A tranzaksiyasi Hisoblar jadvalidagi ba'zi qatorlarda qulfni ushlab turishi mumkin va tugatish uchun Buyurtmalar jadvalidagi ba'zi qatorlarni yangilashi kerak.

Bundan tashqari, bilingki, tanlov boshi berk ko'chaga olib kelishi mumkinmi? 2 ta javob. O'lik qulf Bitta so'rov ob'ektga (satrlar, ma'lumotlar sahifalari, kengaytmalar, jadvallar va boshqalar) qulflanganda va boshqa manba unga kirishga harakat qilganda sodir bo'ladi. SQL Serverdagi eng kichik birlik ma'lumotlar sahifalari bo'lib, SQL u bilan ishlashda sahifada qulfni ushlab turadi. Shunday qilib, ha, bu ikkita bo'lishi mumkin tanlang bayonot mumkin yaratmoq boshi berk ko'cha.

Bundan tashqari, ma'lumotlar bazasida blokirovkaning oldini qanday olishimiz mumkin?

O'liklarning oldini olish bo'yicha maslahatlar

  1. Ma'lumotlar bazasi dizayni to'g'ri normallashtirilganligiga ishonch hosil qiling.
  2. Har safar bir xil tartibda server ob'ektlariga kirish uchun ilovalarni ishlab chiqing.
  3. Tranzaktsiyalar paytida foydalanuvchi kiritishiga ruxsat bermang.
  4. Kursorlardan saqlaning.
  5. Tranzaktsiyalarni imkon qadar qisqa tuting.

To'siqni qanday tuzatasiz?

Aqlli dasturchi boshi berk ko'chadan chiqish uchun quyidagi amallarni bajarishi kerak:

  1. Istisno chiqarilganda 1205 xato raqamini tekshiring.
  2. Boshqa so'rovga tranzaksiyani yakunlash va sotib olingan qulflarni ochish uchun vaqt berish uchun ilovani qisqacha to'xtatib turing.
  3. SQL Server tomonidan qaytarilgan so'rovni qayta yuboring.

Tavsiya: