Have you set transaction isolation level to READ UNCOMMITTED in your stored procedure? If yes, as READ UNCOMMITTED is equal to NOLOCK,this error occurs because you are reading with the NOLOCK hint .
If someone comes along and does an insert or update that causes a page split and the data your dirty reader was reading gets moved to another page, you'll get this error.Best is to not use the NOLOCK hint and fix the underlying issue that was causing the deadlock in the first place.
Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread.
Thanks for the reply.
No I have not used READ UNCOMMITTED or NOLOCK in the stored procedure.
The stored procedure calls another stored procedure to insert data into a table variable...something like:
Insert into @table1( val1, val2, val3, val4)
exec spAnother parm1, parm2
This call throws the error.
Which patch version are you using? I was running SP1 10.50.2500 and was getting the error. Once I upgraded to CU4 (10.50.2796) the issue went away. http://support.microsoft.com/kb/2633146