It means the IX locks that requested by the update process is not successful because the same page is owned by the select process . and the select operation is also requested rowlock on the record holding by the
update process .
How can i prevent this scenario happened again ?
1. use rowlock hints in the select statement to prevent the page lock on the entire page ?
2. add additional non cluster index with run_no and desp_status as indexed column ?
3. use snapshot isolation level or serialize isolation level on all the stored procedure involve in deadlock?