Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server
Azure SQL Managed Instance
Gunakan SQL Server Profiler untuk mengidentifikasi penyebab kebuntuan. Kebuntuan terjadi ketika terdapat dependensi siklik antara dua atau lebih utas atau proses pada suatu himpunan sumber daya dalam SQL Server. Dengan menggunakan SQL Server Profiler, Anda dapat membuat jejak yang merekam, memutar ulang, dan menampilkan peristiwa kebuntuan untuk analisis.
Untuk melacak peristiwa kebuntuan, tambahkan kelas peristiwa grafik kebuntuan ke jejak. Kelas kejadian ini mengisi kolom data TextData dalam jejak dengan data XML tentang proses dan objek yang terlibat dalam kebuntuan. SQL Server Profiler dapat mengekstrak dokumen XML ke file XML kebuntuan (.xdl) yang dapat Anda lihat nanti di SQL Server Management Studio. Anda dapat mengonfigurasi SQL Server Profiler untuk mengekstrak peristiwa grafik Deadlock ke satu file yang berisi semua peristiwa grafik Deadlock, atau ke file terpisah. Ekstraksi ini dapat dilakukan dengan salah satu cara berikut:
Pada waktu konfigurasi pelacakan, menggunakan tab Pengaturan Ekstraksi Peristiwa . Tab ini tidak muncul sampai Anda memilih peristiwa Grafik kebuntuan pada tab Pemilihan Peristiwa .
Menggunakan opsi Extract SQL Server Events pada menu File.
Peristiwa individual juga dapat diekstrak dan disimpan dengan mengklik kanan peristiwa tertentu dan memilih Ekstrak Data Peristiwa.
Grafik kebuntuan
SQL Server Profiler dan SQL Server Management Studio menggunakan grafik tunggu kebuntuan untuk menjelaskan kebuntuan. Grafik tunggu kebuntuan berisi simpul proses, simpul sumber daya, dan tepi yang mewakili hubungan antara proses dan sumber daya. Komponen grafik tunggu ditentukan dalam tabel berikut:
| Simpul | Deskripsi |
|---|---|
| Simpul proses | Utas yang melakukan tugas; misalnya, INSERT, UPDATE, atau DELETE. |
| Simpul sumber daya | Objek database; misalnya, tabel, indeks, atau baris. |
| Pinggir | Hubungan antara proses dan sumber daya. Titik permintaan terjadi ketika sebuah proses menunggu sumber daya. Tepi pemilik terjadi ketika sumber daya menunggu proses. Mode kunci disertakan dalam deskripsi tepi. Misalnya, Mode: X. |
Simpul proses kebuntuan
Dalam grafik tunggu, simpul proses berisi informasi tentang proses tersebut. Tabel berikut menjelaskan komponen proses.
| Komponen | Definisi |
|---|---|
| ID proses server | ID Sesi (SPID), pengidentifikasi yang ditetapkan server untuk proses yang memiliki kunci. |
| Server batch ID | Pengidentifikasi batch server (SBID). |
| ID eksekusi konteks | Pengidentifikasi konteks eksekusi (ECID). ID konteks eksekusi suatu utas yang terkait dengan ID sesi tertentu. ECID = { 0, 1, 2, 3, ... n }, di mana 0 selalu mewakili utas utama atau induk, dan { 1, 2, 3, ... n } mewakili subthreads. |
| Prioritas Jalan Buntu | Prioritas deadlock untuk proses tersebut. Untuk informasi selengkapnya tentang kemungkinan nilai, lihat MENGATUR DEADLOCK_PRIORITY. |
| Log Yang Digunakan | Jumlah ruang log yang digunakan oleh proses. |
| Id Pemilik | ID Transaksi untuk proses yang menggunakan transaksi dan saat ini menunggu di kunci. |
| Deskriptor transaksi | Penunjuk ke deskriptor transaksi yang menjelaskan status transaksi. |
| Buffer input | Buffer input dari proses saat ini, menentukan jenis peristiwa dan pernyataan yang dijalankan. Nilai yang mungkin termasuk: Bahasa RPC Tidak |
| Pernyataan | Jenis pernyataan. Kemungkinan nilai adalah: NOP PILIH PEMUTAKHIRAN MASUKKAN MENGHAPUS Tidak diketahui |
Simpul sumber daya yang mengalami kebuntuan
Dalam kebuntuan, dua proses masing-masing menunggu sumber daya yang dipegang oleh proses lain. Dalam grafik kebuntuan, sumber daya ditampilkan sebagai simpul sumber daya.