\nI received a question today about the impact of data compression on the transaction log. <\/span>While most of the time we talk about data compression from a data page and memory utilization perspective, I hadn’t actually directly tested the impact to transaction logging and I wanted to see it for myself.<\/font> <\/font><\/span><\/font>\n<\/p>\n \nHere is just a very small scale test using data from AdventureWorks.HumanResources.Employee into two tables – one with a clustered index that is not using compression and one that is using page compression (I used a separate database just to keep things clean):<\/font><\/font>\n<\/p>\n \nUSE<\/font><\/font><\/span> [CompressionTest]<\/font>;<\/font><\/span><\/span><\/font>\n<\/p>\n \nGO<\/font><\/font><\/span>\n<\/p>\n \n<\/font><\/font><\/span>\n<\/p>\n \nCREATE<\/font><\/font><\/span> TABLE<\/font><\/span> [dbo].<\/font><\/span>[Employee]<\/font>(<\/font><\/span><\/span><\/font>\n<\/p>\n \n <\/font><\/span>[EmployeeID] [int] IDENTITY<\/font><\/span>(<\/font><\/span>1,<\/font><\/span>1)<\/font><\/span> NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[NationalIDNumber] [nvarchar](<\/font><\/span>15)<\/font><\/span> NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[ContactID] [int] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[LoginID] [nvarchar](<\/font><\/span>256)<\/font><\/span> NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[ManagerID] [int] <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[Title] [nvarchar](<\/font><\/span>50)<\/font><\/span> NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[BirthDate] [datetime] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[MaritalStatus] [nchar](<\/font><\/span>1)<\/font><\/span> NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[Gender] [nchar](<\/font><\/span>1)<\/font><\/span> NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[HireDate] [datetime] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[SalariedFlag] [bit] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[VacationHours] [smallint] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[SickLeaveHours] [smallint] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[CurrentFlag] [bit] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[rowguid] [uniqueidentifier] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[ModifiedDate] [datetime] NOT<\/font><\/span> <\/font>NULL,<\/font><\/span><\/font><\/span>\n<\/p>\n \n <\/font><\/span>[EncryptedNationalIDNumber2] [varbinary](<\/font><\/span>128)<\/font><\/span> <\/font>NULL<\/font><\/span><\/font><\/span>\n<\/p>\n \n)<\/font><\/font><\/span> ON<\/font><\/span> [PRIMARY]<\/font>;<\/font><\/span><\/span><\/font>\n<\/p>\n \nGO<\/font><\/font><\/span>\n<\/p>\n \n