Isi kandungan:

Apakah yang menyebabkan kebuntuan pangkalan data?
Apakah yang menyebabkan kebuntuan pangkalan data?

Video: Apakah yang menyebabkan kebuntuan pangkalan data?

Video: Apakah yang menyebabkan kebuntuan pangkalan data?
Video: CARA MENGATASI STB KOSONG BASIS DATA 2024, November
Anonim

A kebuntuan berlaku apabila dua (atau lebih) urus niaga menyekat satu sama lain dengan menahan kunci pada sumber yang juga diperlukan oleh setiap transaksi. Contohnya: Transaksi 1 memegang kunci pada Jadual A. Kebanyakan orang akan menulisnya kebuntuan tidak boleh dielakkan dalam berbilang pengguna pangkalan data.

Di sini, apakah kebuntuan dalam pangkalan data?

kebuntuan . Didalam pangkalan data , a kebuntuan ialah situasi di mana dua atau lebih transaksi sedang menunggu satu sama lain untuk melepaskan kunci. Contohnya, Transaksi A mungkin menahan kunci pada beberapa baris dalam jadual Akaun dan perlu mengemas kini beberapa baris dalam jadual Pesanan untuk selesai.

Juga Ketahui, adakah pilihan boleh menyebabkan kebuntuan? 2 Jawapan. Jalan buntu berlaku apabila satu pertanyaan memperoleh kunci pada objek (baris, halaman data, takat, jadual dll) dan sumber lain cuba mengaksesnya. Unit terkecil dalam SQL Server ialah halaman data dan SQL memegang kunci pada halaman semasa mengerjakannya. Jadi, ya mungkin dua itu pilih kenyataan boleh cipta kebuntuan.

Selain itu, bagaimanakah kita boleh mengelakkan kebuntuan dalam pangkalan data?

Petua untuk mengelakkan kebuntuan

  1. Pastikan reka bentuk pangkalan data dinormalisasi dengan betul.
  2. Membangunkan aplikasi untuk mengakses objek pelayan dalam susunan yang sama setiap kali.
  3. Jangan benarkan sebarang input pengguna semasa transaksi.
  4. Elakkan kursor.
  5. Pastikan transaksi sesingkat mungkin.

Bagaimana anda membetulkan kebuntuan?

Pembangun pintar mesti melakukan langkah berikut untuk pulih daripada kebuntuan:

  1. Semak nombor ralat 1205, apabila pengecualian dilemparkan.
  2. Jeda aplikasi sebentar untuk memberi masa pertanyaan lain untuk menyelesaikan transaksinya dan melepaskan kunci yang diperolehnya.
  3. Serahkan semula pertanyaan, yang telah dibatalkan oleh SQL Server.

Disyorkan: