Consiglio di leggere questo per una buona spiegazione dell'archiviazione nulla:In che modo SQL Server archivia realmente NULL-s . In breve, il bit null/non null viene archiviato in una posizione diversa, la bitmap nulla per la riga.
Dall'articolo:
Quindi, mentre i valori effettivi per le colonne a 8 bit sono archiviate in 1 byte, ci sono bit extra nella bitmap nulla della riga che indicano se quella colonna è NULL o meno ... quindi dipende da come stai contando. Per essere completamente accurate, le colonne a 8 bit utilizzano 2 byte , basta dividere in 2 posizioni diverse.