SQL Server kilitlenme grafiği - tablo, sayfa veya satır kilidi?


10

Bir kilitlenme grafiğindeki bir kilit Tablo, Sayfa veya Satır düzeyinde ise deşifre etmenin herhangi bir yolu var mı? İzolasyon Seviyesi de dahil olmak üzere grafikten ihtiyacım olan tüm bilgilere sahibim (2) ama bunu da gerçekten bilmek istiyorum.

Yardımcı olabilecek herkese teşekkürler!

Yanıtlar:


13

Kilitlenme grafiği XML'de şöyle bir şey göreceksiniz:

<deadlock-list>
  <deadlock victim="...">
    <process-list>
      <process id="..." ... waitresource="X:..."
...

Xİlginç biraz, sen ilgilenen edilir olası değerler geçerli:

  • RID sıra kimliği için (sıra seviyesi kilitleme)
  • PAG sayfa seviyesi kilidi için
  • OBJECT( TABbir masa kilidini gösteren daha nitelikli olabilir )

Belgelerde listelenen başka birkaç tür daha vardır .


Teşekkürler, faydalıdır. Grafiğimde farklı sayfalar kullanıyor gibi görünen 2 işlemim olmasına rağmen: waitresource = "RID: 21: 1: 2588: 0" waitresource = "RID: 21: 1: 2699: 1" Farklı sayfalar kullanıyorlarsa , aynı satırda çatışamazlar, değil mi? Çünkü bu sorguda bir WITH (ROWLOCK) ipucu kullanıyorum.
tuseau

2
İşlem 1 2699 tutuyor ve 2588 istiyor ve işlem 2 2588 tutuyor ve 2699 istiyorsa, bu kilitlenecektir. Bir kilitlenmenin dairesel bir bağımlılık anlamına geldiğini unutmayın.
Gaius
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.