MSSQLSERVER_1205
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
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:
- Transaksi1 memperbarui Table1.Row1, sementara Transaction2 memperbarui Table2.Row2
- Transaction1 mencoba memperbarui Table2.Row2 tetapi diblokir karena Transaction2 belum berkomitmen dan belum merilis kuncinya
- Transaction2 sekarang mencoba memperbarui Table1.Row1 tetapi diblokir karena Transaction1 belum berkomitmen dan belum melepaskan kuncinya
- Kebuntuan terjadi karena Transaksi1 menunggu Transaksi2 selesai, tetapi Transaksi2 menunggu Transaksi1 selesai.
Sistem akan mendeteksi kebuntuan ini dan akan memilih salah satu transaksi yang terlibat sebagai 'korban'. Kemudian akan 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. Lihat blog ini untuk contoh cara mencoba kembali - menangani kebuntuan dan menjalankan kembali kueri: Aplikasi Simulator Kebuntuan 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 akan 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 akan dihindari.
Untuk informasi selengkapnya, lihat Menangani KebunTuan dan Meminimalkan Kebuntuan.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk