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.

SQLServerCentral Article

Cassandra Springboot Integration With Redis

Article Overview In this article we will learn how to integrate a Spring boot application with Apache Cassandra database and Redis cache. This is an extension to one of our previous articles which demonstrates the steps to set up Apache Cassandra and how to integrate is with Springboot, link shared below. https://www.sqlservercentral.com/articles/cassandra-springboot-integration In this tutorial […]

SQLServerCentral Editorial

People Make Odd Choices

One of my favorite things about going to in-person events is just the time when we're sitting around chatting, out in the hallway, over at the vendor booths, maybe in the speaker room. Any of them. Inevitably, you start to get what I would call "sea stories" (Navy & Coasties, "war stories" for the pickles, […]

Blogs

Database AI Agents: The Read-Only Rule

By

Fourth in a series on Ai and databases. What Read-Only Advisory Actually Means A...

Creating a SQL Stored Procedure to Load a SCD2

By

This is a blog that I am writing for future me and hopefully it’ll...

Funny Money: #SQLNewBlogger

By

While wandering around the documentation looking for some Question of the Day topics, I...

Read the latest Blogs

Forums

FARE LABS Pvt. Ltd. does pollution and environmental testing.

By farelabs

Our highly skilled crew is available to do ambient air, DG stack emission, interior...

Pro SQL Server Internals

By Site Owners

Comments posted to this topic are about the item Pro SQL Server Internals

SQL ART: Who's Blocking Who? Visualising SQL Server Blocking With Spatial Geometry

By Terry Jago

Comments posted to this topic are about the item SQL ART: Who's Blocking Who?...

Visit the forum

Question of the Day

Running SQLCMD II

I run this command to start SQLCMD:

sqlcmd -S localhost -E -c "proceed"
At the prompt, I type this (the 1> and 2> are prompts):
1> select @@version
2> go
What happens?

See possible answers