none
Transazione di blocco RRS feed

  • Domanda

  • Salve a tutti,

    ho un problema che capita una o due volte al mese: una tabella, in seguito ad un comando di update, resta bloccata e gli utenti che vi devono poi scrivere non possono farlo finché non killo il processo di update che ha generato il blocco.

    Chiedo: c'è una spiegazione semplice al fatto che il blocco non venga rilasciato dopo il comando Update?, inoltre posso tracciare l'evento con il Profiler per capire meglio cosa succede o devo abilitare qualche evento particolare nella traccia?

    Grazie


    Marco

    mercoledì 16 ottobre 2019 08:58

Risposte


  • Chiedo: c'è una spiegazione semplice al fatto che il blocco non venga rilasciato dopo il comando Update?, inoltre posso tracciare l'evento con il Profiler per capire meglio cosa succede o devo abilitare qualche evento particolare nella traccia?

    Ciao Marco,

    nell'immagine che hai allegato la transazione con ID 99483836 (ID sessione 22) ha bloccato la transazione con ID 100611983 (ID sessione 74). L'UPDATE sulla tabella MXBROWSERHISTORY per il quale è stata attivata la transazione 100611983 è bloccato dalla transazione 99483836.

    I lock attivati dalla transazione con ID 99483836 rimarranno al loro posto fino a quando la transazione non verrà confermata con un COMMIT o respinta con un ROLLBACK.

    Per fare indagini più approfondite, più che SQL Profiler, ti consiglio di utilizzare la stored procedure beta_lockinfo realizzata da Erland Sommarskog. Permette di tracciare situazioni di blocking/locking in modo semplice.. ovviamente nel momento in cui il blocco è in essere.

    Ciao!


    Sergio Govoni

    Microsoft Data Platform MVP | MVP Profile | English Blog | Twitter | LinkedIn

    domenica 20 ottobre 2019 12:25
    Moderatore