Jeg anbefaler at læse dette for at få en god forklaring på null storage:Hvordan gemmer SQL Server virkelig NULL-s . Kort sagt, null/not null bit gemmes et andet sted, null bitmap for rækken.
Fra artiklen:
Så mens de faktiske værdier for 8 bit kolonner er gemt i 1 byte, er der ekstra bits i rækkens null bitmap, der indikerer om den kolonne er NULL eller ej...så afhænger af hvordan du tæller. At være helt nøjagtige, 8 bit kolonner bruger 2 bytes , bare delt op på 2 forskellige steder.