FORWARDING_STUB on Heap Table

  • 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?

  • Try the DBCC PAGE using dump style 3 instead of 0, 1,or 2. I think that's the catch.

    Cheers!

  • It was indeed, thank you very much.

Viewing 3 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic. Login to reply