I've been having issues with a process aquiring a lock on a table and blocking any other process that attempts to access it. I am dealing with a very old third party system, all embedded sql from the app on a sql server 2005 x64 SP2.
When I look at dm_tran_locks, I see there is an IX request mode lock on a table, two key locks with X request mode and one page IX request mode... page & key locks are on the same table. When in the activity monitor, I find the head lock & right click on details to view the sql statement causing the lock... the sql statement does not involve in any way the table that the head blocker process has locked, in fact the sql is not an update or insert it is a simple select statement.
When I look in dm_tran_active_transactions, I see the transaction in there with the begin time of 4 hours earlier and the state as active.
What am i missing here, how is this sql statement aquiring a lock on a table that is not part of the select statement?
I appreciate any help with this,