Suppose I open a transaction and run update requests.
BEGIN TRANSACTION
UPDATE x SET y = z WHERE w = v
The request returns successfully, and the transaction remains open intentionally for a certain period of time before I decide to commit.
While I am sitting on a transaction, is it possible that the MKSQL stub machine can preempt my open transaction, which actually does nothing to either clear the stub or free up resources, since the system memory / resource limits are reached?
I know about SET DEADLOCK_PRIORITY and have read MSDN articles on the subject of deadlocks. It’s logical, since I’m not actively looking for applications for any additional resources, I can’t imagine a scenario that would call a reasonable algorithm for avoiding a dead end.
Does anyone know for sure if it is possible that just blocking can make me a valid target? Similarly, does any low resource condition cause the killing of my SPID?
source
share