If you have Blocking Locks, the easiest way to fix that is kill the offending session and free up the requested resource.
But, who should win this battle? What transactions take precedence? Should the business analyst have his report kiboshed because a developer is testing a new feature? Should an ETL process be allowed to finish under any and all circumstances?
Who Wins, or Who Loses?
I raised this question on Twitter yesterday in response to a post from @HanSQL – who I’m pretty sure shot first in the infamous Cantina scene…
I read this as
I’m not sure we can rely on a ranking system, but I would never cancel a business transaction or process to speed up someone’s query for number of widgets sold in Lower 48 last Febtober.
Do you have a ranking system? Or do you just kill whoever gets in your way?
Should you have the right to kill yourself in the database? By that I mean, should a database user always have the ability to kill their own sessions? Sometimes a ‘Cancel’ doesn’t cut it. Or do you appeal to the state (DBA)?
I know, I know, controversial stuff!