Identical tables, identical columns, identical records, but why different record sizes?
USE [test]
GO
CREATE TABLE [dbo].[mybit](
[col1] [bit] NOT NULL,
[col2] [bit] NOT NULL,
[col3] [bit] NOT NULL,
[col4] [bit] NOT NULL,
[col5] [bit] NOT NULL,
[col6] [bit] NOT NULL,
[col7] [bit] NOT NULL,
[col8] [bit] NOT NULL,
[col9] [bit] NULL
)
GO
INSERT INTO [dbo].[mybit]
VALUES (1,1,1,1,1,1,1,1,NULL)
GO 2
DBCC IND(test, mybit, -1);
GO
DBCC TRACEON(3604);
DBCC PAGE(test, 1, '#pagenumber', 1);
Both records are 10 bytes in size.

CREATE TABLE [dbo].[mybit2](
[col1] [bit] NOT NULL,
[col2] [bit] NOT NULL,
[col3] [bit] NOT NULL,
[col4] [bit] NOT NULL,
[col5] [bit] NOT NULL,
[col6] [bit] NOT NULL,
[col7] [bit] NOT NULL,
[col8] [bit] NOT NULL,
)
GO
INSERT INTO [dbo].[mybit2]
VALUES (1,1,1,1,1,1,1,1)
GO
ALTER TABLE [dbo].[mybit2] ADD [col9] [bit] NULL
GO
INSERT INTO [dbo].[mybit2]
VALUES (1,1,1,1,1,1,1,1, NULL)
GO
DBCC IND(test, mybit2, -1);
GO
DBCC TRACEON(3604);
DBCC PAGE(test, 1, '#pagenumber', 1);
One record is 9 bytes in size and another is 10.
