Pro dobré vysvětlení nulového úložiště doporučuji přečíst toto:Jak SQL Server skutečně ukládá NULL-s . Stručně řečeno, bit null/not null je uložen na jiném místě, bitmapa null pro řádek.
Z článku:
Takže zatímco skutečné hodnoty pro 8bitové sloupce jsou uloženy v 1 bajtu, v nulové bitmapě řádku jsou další bity, které indikují, zda je tento sloupec NULL nebo ne...takže záleží na tom, jak počítáte. Být úplně přesné, 8bitové sloupce používají 2 bajty , stačí se rozdělit na 2 různá místa.