There are actually index created :
CREATE NONCLUSTERED INDEX [IDX_TXN_DESP_OUT_STATUS] ON [dbo].[TXN_DESP_OUT]
(
[DESP_STATUS] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TXN_DESP_OUT] ADD CONSTRAINT [PK_TXN_DESP_OUT] PRIMARY KEY CLUSTERED
(
[RUN_NO] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Any idea Why the update statement will require a page lock after a row lock on PK_TXN_DESP_OUT (RUN_NO) cluster index ?
UPDATE TXN_DESP_OUT
set DESP_STATUS = 'C',DESP_STATUS_DT=getdate()
WHERE RUN_NO=@RUN_NO and DESP_STATUS <> 'C'
The deadlock trace showing the waitresource="PAGE: 9:1:1100400". i am trying to prevent this page lock so that the deadlock will not occurred.