none
Deadlock hatası RRS feed

  • Soru

  • Merhaba Arkadaşlar,

    Ms sql, c#, winform uygulamasında bazı işlemlerin arkasından uzun bir sp çalışıyor ve veri girişleri bir kaç pc den yapılmakta  haliyle bu sp çok sık çalışmakta ve sık sık deadlock a düşüyor çalışan sp üzerinde hangi satırda deadlock olduğunu nasıl bulabilirim


    Cezakellahu Hayran

    20 Ekim 2020 Salı 15:23

Tüm Yanıtlar

  • Merhabalar,

    1. Anlık olarak bakmak istersen sp_who veya sp_who2 komutları ile bakabilirsin. Fakat yetersiz kalabilir.
    2. Profiler ile inceleyerek daha fazla detay yakalamak için ise tüm olay ve sütunları göstermesi için iki seçeneği seçip daha sonra bu event'ları seçebilirsin. (resim ekleyemedim kusura bakma)
      Locks Event
      Lock:Deadlock graph
      Lock:Deadlock
      Lock:Deadlock Chain

      Store Procedure
      RPC:Completed
      SP:StmtCompleted

      TSQL
      SQL:BatchCompleted
      SQL:BatchStarting
    3. Activity Monitor ile çalışan kodların sistem yüküne göre yakalamaya çalışabilirsin.
    4. Satır olarak bulmak için ise yapılabilecek Management Studio üzerinden sp'ün içindeki bloğu Execution Plan'ı aktif edip manuel çalıştırıp, başka bir query ile ilgili tablolara insert atmayı deneyebilirsin. Deadlock olacaktır fakat yükün nerelerde biriktiğini görebilirsin.
    5. Son olarak aklıma gelen de Management Studio üzerinde debug yapman (Kullandığın MS'da bulunmayabilir)

      Bu bilgiler ile kontrollerinizi yapabilirsiniz fakat zaman alacaktır. Ne kadar çok deneme ve kontrol sağlarsanız o kadar yakalama şansınız artacaktır. 
      Kolay gelsin.
    21 Ekim 2020 Çarşamba 07:21