tags:

views:

23

answers:

1

Pick your version of SQL Server... if it has changed between version please specify if you know.

Build a table Add a non-clustered index on 1 or more columns. If I could dump a leaf block, what would I find as the pointer to the row in the table with the data?

+2  A: 

It uses a row id, which is basically a physical address of the row in the database: on Page X at Slot Y. If the row ever moves, then a Forwarding record is left in place so that the non-clustered index reference is kept valid. See Forwarding and forwarded records, and the back-pointer size.

Remus Rusanu
that's was my assumption all along but MSDN didn't think anyone would want to know that so the section on Heaps is devoid of said information.
Stephanie Page
"If the table is a heap, which means it does not have a clustered index, the row locator is a pointer to the row. The pointer is built from the file identifier (ID), page number, and number of the row on the page. The whole pointer is known as a Row ID (RID)." From http://msdn.microsoft.com/en-us/library/ms177484.aspx (Perhaps is not at the place you looked at)
Remus Rusanu