What is a hobt_id in Sql 2005?

By:   |   Updated: 2007-10-15   |   Comments   |   Related: More > SQL Server Configurations

The same customer that promted the post of mine titled "How can I get sysindexes information in Sql 2005?" posed a follow-up question - what is the hobt_id column in the sys.partitions catalog view and how does it relate to other catalog views/structures?

A very good question...first, hobt (pronounced "hobbit") stands for "Heap or B-Tree".  Sql Server uses Heap structures to store data when a given table has no cluster (i.e. a clustered index), and uses a B-Tree structure (B-Tree stands for "Balanced Tree", not binary tree as is a common misconception) for indexes (including clustered indexes). A Heap is a collection of data pages that have no specific order and are not linked in any manner (like clusters which are a doubly-linked list).

So, a hobt in Sql Server 2005 is basically a collection of data/index pages - specifically, hobt is generally used to describe a subset of data/index pages within a single partition. Currently, the relationship between a partition and a hobt is ALWAYS 1-to-1 - meaning the hobt_id and partition_id value in the sys.partitions table are completely interchangable at the moment. In fact, you'll notice that the actual values for partition_id and hobt_id are always exactly the same currently in Sql 2005.  In some future release of Sql this may change, however there's no talk of it at this point to my knowledge anyhow.


Last Updated: 2007-10-15

get scripts

next tip button

About the author
MSSQLTips author Chad Boyd Chad Boyd is an Architect, Administrator and Developer with technologies such as SQL Server, .NET, and Windows Server.

View all my tips
Related Resources

More SQL Server Solutions

Post a comment or let the author know this tip helped.

All comments are reviewed, so stay on subject or we may delete your comment. Note: your email address is not published. Required fields are marked with an asterisk (*).

Email me updates

Signup for our newsletter

I agree by submitting my data to receive communications, account updates and/or special offers about SQL Server from MSSQLTips and/or its Sponsors. I have read the privacy statement and understand I may unsubscribe at any time.


Recommended Reading

How to tell what SQL Server version you are running

Resolving could not open a connection to SQL Server errors

Changing SQL Server Collation After Installation

Identify SQL Server TCP IP port being used

Setting a fixed amount of memory for SQL Server

get free sql tips
agree to terms

Learn more about SQL Server tools