Running:
Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Standard Edition on Windows NT 5.2 (Build 3790: )
I have a stored procedure that is returning the following error:
Server: Msg 624, Level 20, State 2, Procedure Rpt27310Bal, Line 170
Could not retrieve row from page by RID because the requested RID has a
higher number than the last RID on the page. Rid pageid is (1:5697) and row
num is 0x47.Page pointer = 0x2b778000, PageId = (1:5697), flags = 0x8008,
objectid = 1371279390, indexid = 0, DBID 2.
Connection Broken
Line 170 of the sp is running the following update:
Update f set
LinkID = OwnerOID
From #working f
JOIN EventDetail d on d.EventDetailID = f.EventDetailID
Where f.OwnerTypeCode = 4 and d.TextBuffer1 like '%internaltrx=False%'
If I comment out that update, the error goes away. Sounds like a corrupt
EventDetail index (PK is EventDetailID nonclustered). So I recreated the
table and all indexes. Still getting the error.
I ran DBCC Checkdb with Repair_rebuild. It returned (along with all the
table summaries):
CHECKDB found 0 allocation errors and 0 consistency errors in database
'ELASAdmin'.
DBCC execution completed. If DBCC printed error messages, contact your
system administrator.
Any idea where I should go from here?
TIA,
ScottAdditional info:
This error happens on multiple servers (production and dev)
DBID 2 is the tempdb (I did shut down SS and deleted the tempdb. After
restarting...same error.)
This SP had been running fine for about a year.|||Product support might be the next place to do, unfortunately.
http://msdn.microsoft.com/library/d...serr_1_23p0.asp
The only other thing I might try first is ANSI syntax for the update:
update #working set
LinkID = (
select OwnerOID
from EventDetail d
where d.EventDetailID = #working.EventDetailID
and #working.OwnerTypeCode = 4
and EventDetail.TextBuffer1 like '%internalrx=False%'
)
where exists (
select *
from EventDetail d
where d.EventDetailID = #working.EventDetailID
and #working.OwnerTypeCode = 4
and EventDetail.TextBuffer1 like '%internalrx=False%'
)
Steve Kass
Drew University
Scott wrote:
>Running:
>Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
> Dec 17 2002 14:22:05
> Copyright (c) 1988-2003 Microsoft Corporation
> Standard Edition on Windows NT 5.2 (Build 3790: )
>I have a stored procedure that is returning the following error:
>Server: Msg 624, Level 20, State 2, Procedure Rpt27310Bal, Line 170
>Could not retrieve row from page by RID because the requested RID has a
>higher number than the last RID on the page. Rid pageid is (1:5697) and row
>num is 0x47.Page pointer = 0x2b778000, PageId = (1:5697), flags = 0x8008,
>objectid = 1371279390, indexid = 0, DBID 2.
>Connection Broken
>Line 170 of the sp is running the following update:
>Update f set
> LinkID = OwnerOID
>From #working f
>JOIN EventDetail d on d.EventDetailID = f.EventDetailID
>Where f.OwnerTypeCode = 4 and d.TextBuffer1 like '%internaltrx=False%'
>If I comment out that update, the error goes away. Sounds like a corrupt
>EventDetail index (PK is EventDetailID nonclustered). So I recreated the
>table and all indexes. Still getting the error.
>I ran DBCC Checkdb with Repair_rebuild. It returned (along with all the
>table summaries):
>CHECKDB found 0 allocation errors and 0 consistency errors in database
>'ELASAdmin'.
>DBCC execution completed. If DBCC printed error messages, contact your
>system administrator.
>Any idea where I should go from here?
>TIA,
>Scott
>
>|||I did see and completed the steps in the MSDN article before posting.
Your ANSI update worked! Do I dare ask why? Like I said, this SP has been
in production for over a year (its for a report that's emailed daily), then
on Friday I get this error.
I did look at the contents of #working just prior to the update and it only
contained about 30 records that looked 'normal'. I'll play around with it
some more on Monday...
Thanks for your help Steve,
Scott
"Steve Kass" <skass@.drew.edu> wrote in message
news:u0rIky$aEHA.556@.tk2msftngp13.phx.gbl...
> Product support might be the next place to do, unfortunately.
>
[url]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/trblsql/tr_reslsyserr_1_23p0.asp[
/url][vbcol=seagreen]
> The only other thing I might try first is ANSI syntax for the update:
> update #working set
> LinkID = (
> select OwnerOID
> from EventDetail d
> where d.EventDetailID = #working.EventDetailID
> and #working.OwnerTypeCode = 4
> and EventDetail.TextBuffer1 like '%internalrx=False%'
> )
> where exists (
> select *
> from EventDetail d
> where d.EventDetailID = #working.EventDetailID
> and #working.OwnerTypeCode = 4
> and EventDetail.TextBuffer1 like '%internalrx=False%'
> )
>
> Steve Kass
> Drew University
> Scott wrote:
>
row[vbcol=seagreen]
No comments:
Post a Comment