Je recommande de lire ceci pour une bonne explication du stockage nul :Comment SQL Server stocke-t-il réellement les NULL-s . En bref, le bit nul/non nul est stocké à un endroit différent, le bitmap nul pour la ligne.
Extrait de l'article :
Ainsi, alors que les valeurs réelles pour les colonnes de 8 bits sont stockées dans 1 octet, il y a des bits supplémentaires dans le bitmap nul de la ligne qui indiquent si cette colonne est NULL ou non... cela dépend donc de la façon dont vous comptez. Être complètement précises, les colonnes de 8 bits utilisent 2 octets , il suffit de se diviser en 2 endroits différents.