Articles

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.

5 (3)

You rated this post out of 5. Change rating

2025-07-18

656 reads

SQLServerCentral Article

Getting In: Running External Code in a Locked-Down PaaS

In Part 1, I explored how to bend SQL Server Agent to our will and peek under the hood of Azure SQL Managed Instance (SQL MI), gaining full OS access to the container (all without relying on xp_cmdshell). But once I realized what kind of door I'd opened, curiosity pushed us further, tempting us to […]

5 (1)

You rated this post out of 5. Change rating

2025-07-17 (first published: )

408 reads

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 […]

You rated this post out of 5. Change rating

2025-07-14 (first published: )

54 reads

SQLServerCentral Article

Revolutionizing Efficiency: The Power of Custom Automation Software Development

With the ever-increasing pace of the digital era, companies are continuously looking for opportunities to enhance efficiency, cut costs, and optimize operations. The most viable way to accomplish these is through Custom Automation Software Development.

You rated this post out of 5. Change rating

2025-07-11

449 reads

SQLServerCentral Article

Cloning Master Admin User Permissions in Amazon RDS for SQL Server with Fine-Grained Control

This article explores how to securely clone the master user permissions in Amazon RDS for SQL Server using a custom stored procedure, usp_rds_clone_login. It outlines a step-by-step process to generate, review, and apply a script that replicates server- and database-level access from the master user to a new login without directly exposing elevated credentials. The guide emphasizes the principle of least privilege, supports named account management, and enables transparent, auditable permission handling for DBAs and applications. Designed for secure and scalable environments, this solution enhances operational security while maintaining administrative flexibility in Amazon RDS.

You rated this post out of 5. Change rating

2025-07-09

498 reads

SQLServerCentral Article

PostgreSQL Aggregate Functions

Overview In this article we will go through the various in built aggregate functions available in PostgreSQL. Aggregate functions perform a calculation on a set of rows and return a single value. COUNT Function The COUNT function is a simple and very useful function in counting the number of records, which are expected to be […]

1 (1)

You rated this post out of 5. Change rating

2025-07-09

413 reads

Blogs

A New Word: Ecstatic Shock

By

ecstatic shock – n. a surge of energy upon catching a glimpse from someone...

The CDO’s Playbook for AI Driven Decision Making

By

The New Arena of Leadership The role of the Chief Data Officer is no...

sp_snapshot – The easy way to take database snapshots of one or more databases – V3.0

By

Presenting you with an updated version of our sp_snapshot procedure, allowing you to easily...

Read the latest Blogs

Forums

Lessons from the Postmark-MCP Backdoor

By dbakevlar

Comments posted to this topic are about the item Lessons from the Postmark-MCP Backdoor

Arc Enabled SQL Server

By Jo Pattyn

Just saw the "Azure Extension for SQL Server" Does anyone has experience with it?...

Recursive Select - What is this really doing

By Leo.Miller

I've noticed several instances of what looks like a recursive insert with the format:...

Visit the forum

Question of the Day

The Maximum Value in the Identity Column

I have a table with this data:

TravelLogID CityID StartDate  EndDate
1           1      2025-01-01 2025-01-06
2           2      2025-01-01 2025-01-06
3           3      2025-01-01 2025-01-06
4           4      2025-01-01 2025-01-06
5           5      2025-01-01 2025-01-06
I run this code:
SELECT IDENT_CURRENT('TravelLog')
I get the value 5 back. Now I do this:
SET IDENTITY_INSERT dbo.TravelLog ON
INSERT dbo.TravelLog
(
    TravelLogID,
CityID,
    StartDate,
    EndDate
)
VALUES
(25, 5, '2025-09-12', '2025-09-17')
SET IDENTITY_INSERT dbo.TravelLog OFF
I now run this code.
DBCC CHECKIDENT(TravelLog)
GO
INSERT dbo.TravelLog
(
    CityID,
    StartDate,
    EndDate
)
VALUES
(4, '2025-10-14', '2025-10-17')
GO
What is the value for TravelLogID for the row I inserted for CityID 4 and dates starting on 14 Oct 2025?  

See possible answers