Bagikan melalui


MSSQLSERVER_1205

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Detail

Atribut Nilai
Nama Produk SQL Server
ID Peristiwa 1205
Sumber Kejadian MSSQLSERVER
Komponen SQLEngine
Nama Simbolis LK_VICTIM
Teks Pesan Transaksi (ID Proses %d) di-deadlock pada %.*ls sumber daya dengan proses lain dan telah dipilih sebagai korban kebuntuan. Jalankan kembali transaksi.

Penjelasan

Sumber daya diakses dalam urutan yang bertentangan pada transaksi terpisah, menyebabkan kebuntuan. Contohnya:

  • Transaction1 memperbarui Table1.Row1, sementara Transaction2 memperbarui Table2.Row2
  • Transaction1 mencoba memperbarui Table2.Row2 tetapi diblokir karena Transaction2 belum berkomitmen dan belum melepaskan kuncinya
  • Transaction2 sekarang mencoba memperbarui Table1.Row1 tetapi diblokir karena Transaction1 belum berkomitmen dan belum melepaskan kuncinya
  • Kebuntuan terjadi karena Transaction1 menunggu Transaction2 selesai, tetapi Transaction2 menunggu Transaction1 selesai.

Sistem mendeteksi kebuntuan ini dan memilih salah satu transaksi yang terlibat sebagai korban . Kemudian mengeluarkan pesan kesalahan ini, menggulung balik transaksi korban. Untuk informasi mendetail, lihat Kebuntuan.

Tindakan pengguna

Kebuntuan dalam kebanyakan kasus adalah masalah terkait aplikasi dan mengharuskan pengembang aplikasi untuk membuat perubahan kode. Salah satu pendekatan ketika Anda menerima kesalahan 1205 adalah menjalankan kueri lagi. Untuk informasi selengkapnya, lihat aplikasi Deadlock Simulator untuk Pengembang: Cara Menangani masalah Kebuntuan SQL di Aplikasi Anda.

Anda juga dapat merevisi aplikasi untuk menghindari kebuntuan. Transaksi yang dipilih sebagai korban dapat dicoba kembali dan kemungkinan berhasil, tergantung pada operasi apa yang dijalankan secara bersamaan.

Untuk mencegah atau menghindari kebuntuan terjadi, pertimbangkan untuk memiliki semua baris akses transaksi dalam urutan yang sama (Table1, lalu Table2). Dengan cara ini, meskipun pemblokiran mungkin terjadi, kebuntuan dihindari.

Untuk informasi selengkapnya, lihat Menangani KebunTuan dan Meminimalkan Kebuntuan.