July 2011 Blog Posts
What is the size of the LOB pointer for (MAX) types like varchar, varbinary, etc?
Learn about the different pointer types & sizes for (MAX) LOB data types - BLOB Inline Data, BLOB Inline Root and Textpointer.
The garbage null bitmap and why you can’t rely on it solely
Don't trust bits in the null bitmap as they may contain garbage. Here's an example of how it may occur and why it doesn't matter.
The 8 byte record that was 9 bytes while making no sense
Sometimes record structures aren't straightforward. Here's an example of a record that doesn't make any immediate sense when parsing it.
The null bitmap is *not* always present in data records
Contrary to popular belief, the null bitmap is not always present in data records. Here's an example of a data record that doesn't contain a null bitmap due to using sparse columns.
Sparse column storage – the sparse vector
Sparse columns are stored entirely different from normal fixed length and variable length columns. This post demonstrates & parses the sparse vector structure which stores the sparse columns.
Identifying complex columns in records
How do we distinguish a normal variable length column value from one containing a complex value like a row-overflow pointer, back pointer or a sparse vector?
Exploring the sys.system_internals_partition_columns.ti field
Learn how the sys.system_internals_partition_columns view retrieves its values from the sysrscols base table column, ti.
SQLBits 9 voting & registration open
SQLBits 9 is coming soon, make sure you register in time & vote for your favorite sessions!
Converting between base 2, 10 and 16 in T-SQL
Lean how to convert between binary (base 2), decimal integers (base 10) and hexadecimal (base 16) using T-SQL.
Determining the uniquifier column ordinal for clustered and nonclustered indexes
Once you know what the uniquifier is, you may thirst for more details. This post outlines how to determine where the uniquifier is stored internally in records.
|