SQLServerCentral Article

When INCLUDE Columns Quietly Inflate Your Transaction Logs

In this article, I wanted to test a common assumption we DBAs make – that adding INCLUDE columns to indexes is harmless. I created a FULL recovery test database with a realistic wide Orders table containing extra large VARCHAR columns to simulate an ERP workload. I ran updates and measured transaction log backup sizes before and after adding INCLUDE columns to a nonclustered index. The results shocked me. The update without INCLUDE columns generated a 10 MB log backup, while the same update with INCLUDE columns produced over 170 MB – a 17x increase in log volume. I explain why this happens: INCLUDE columns are physically stored in index leaf rows, so updates affecting them write bigger log records. I also clarify that updating key columns generates even more log than INCLUDE updates because it involves row movement (delete + insert), but INCLUDE updates still cost more log than if those columns weren’t indexed at all. The takeaway is clear – INCLUDE columns are powerful, but they silently increase transaction log generation, impacting backup sizes, replication lag, and DR readiness. Always measure their real cost before deploying to production.

(3)

You rated this post out of 5. Change rating

2025-07-18

712 reads

SQLServerCentral Article

Unmasking CXPACKET and CXCONSUMER in SQL Server: What Your Execution Plan Isn’t Telling You

This article dives deep into cxpacket and cxconsumer in sql server, explaining how to simulate each, when they appear, and why they matter. Using live execution plans, wait monitoring, and worker thread diagnostics, we uncover how uneven parallelism triggers thread sync waits—and how SQL Server sometimes hides real issues behind innocent-looking CXCONSUMER waits. Includes step-by-step queries, tuning tips, and a real-world scenario where repartition streams quietly ruined performance.

(5)

You rated this post out of 5. Change rating

2025-07-07

3,904 reads

SQLServerCentral Article

How to Safely Remove a SQL Server Data File Without Downtime

Learn how to safely remove a SQL Server .ndf data file without any downtime using DBCC SHRINKFILE (EMPTYFILE). This hands-on tutorial walks through real-world Azure-based setup, data redistribution, and storage cleanup — ideal for DBAs managing enterprise SQL Server environments.

(3)

You rated this post out of 5. Change rating

2025-05-16

2,718 reads

Blogs

Claude Code Helps Analyze Test Data Manager Log Files

By

I had a customer ask about analyzing their Test Data Manager (TDM) usage to...

PowerPoint to HTML with Claude AI

By

I had an idea for an animated view of a sales tool, and started...

Don’t Miss Out – SQL Server Query Tuning Fundamentals Starts Next Monday!

By

Next Monday, February 9, 2026, my one-day live online training SQL Server Query Tuning...

Read the latest Blogs

Forums

Huge frustration - Database watcher with two elastic pools

By bjorn.c.w

Think there's a reason why this is still in preview, but have someone manage...

SQL Server 2025 Query Performance Tuning: Troubleshoot and Optimize Query Performance

By Site Owners

Comments posted to this topic are about the item SQL Server 2025 Query Performance...

Is it uncommon for Dev's to have a data model of the source data

By Coffee_&_SQL

This is a generic question. To the moderators, I wasn't sure where to place...

Visit the forum

Question of the Day

Creating JSON I

On SQL Server 2025, what happens when I run this code:

SELECT JSON_OBJECTAGG( 'City':'Denver')
GO

See possible answers