December 2, 2015 at 9:30 am
I watched a video presentation about forwarding records on heap tables, and because I think there's a mistake in the presentation I've had a little play on my machine.
I've updated a row in a heap table and it replaced the original row location with this:
Slot 2, Offset 0x1016, Length 9, DumpStyle BYTE
Record Type = FORWARDING_STUB Record Attributes = Record Size = 9
Memory Dump @0x000000000D0DB016
0000000000000000: 049f0100 00010000 00
Now, in this case this is page 414 of file 1 of the table I'm looking at. I know (by looking for it) that the data was moved to page 415:
Slot 0, Offset 0x60, Length 3027, DumpStyle BYTE
Record Type = FORWARDED_RECORD Record Attributes = NULL_BITMAP VARIABLE_COLUMNS
Record Size = 3027
Memory Dump @0x000000000FABA060
0000000000000000: 3200d807 03000000 33333333 33333333 33333333 2.Ø.....333333333333
What I can't work out is what information in the FORWARDING_STUB section would have pointed me to the FORWARDED_RECORD.
In Paul Randal's article on forwarding (http://www.sqlskills.com/blogs/paul/forwarding-and-forwarded-records-and-the-back-pointer-size/) he has a screen-shot from DBCC PAGE that shows Forwarding to = file 1 page 157 slot 0
I don't see anything as helpful as that in my results.
What am I missing?
December 2, 2015 at 9:53 am
Try the DBCC PAGE using dump style 3 instead of 0, 1,or 2. I think that's the catch.
Cheers!
Viewing 3 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply