Migrate from Linux to Windows with Availability Groups
This article describes the process to create a read-scale cross-platform SQL Server Availability Group where the primary is Linux and the secondary is Windows.
2025-07-23
370 reads
This article describes the process to create a read-scale cross-platform SQL Server Availability Group where the primary is Linux and the secondary is Windows.
2025-07-23
370 reads
2025-07-23
4,449 reads
Introduction It was the week before Black Friday — the biggest online ad rush of the year. Our US-based ad-tech platform was gearing up for an insane traffic spike. Hundreds of real-time campaigns were about to go live across multiple brands, each with thousands of user sessions flowing through our system. Every incoming user impression […]
2025-07-22
2,417 reads
Take a basic look at database diagrams, what they are, and how to create one.
2025-07-21
1,195 reads
Unlocking Interoperability: A Guide to Foreign Data Wrappers in PostgreSQL and Aurora PostgreSQL AWS RDS As a database professional, I often encounter scenarios where data is fragmented across various systems. In today's distributed IT landscape, it's not uncommon for critical business information to reside in different databases, perhaps an on-premise PostgreSQL instance for legacy applications, […]
2025-07-21
101 reads
2025-07-18
5,936 reads
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.
2025-07-18
713 reads
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 […]
2025-07-17 (first published: 2025-07-16)
459 reads
In this next article, we look at creating balanced dimensions on demand.
2025-07-16
701 reads
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 […]
2025-07-14 (first published: 2024-07-18)
63 reads
By Steve Jones
We had an interesting discussion about deployments in databases and how you go forward...
By ChrisJenkins
You could be tolerating limited reporting because there isn’t an off the shelf solution...
A while back I wrote a quick post on setting up key mappings in...
Comments posted to this topic are about the item Remotely Engineer Fabric Lakehouse objects:...
Comments posted to this topic are about the item Creating JSON III
Comments posted to this topic are about the item Testing is Becoming More Important
In a SQL Server 2025 table, called Beer, I have this data:
BeerIDBeerName 1Becks 2Fat Tire 3Mac n Jacks 4Alaskan Amber 8KirinI run this code:
SELECT JSON_OBJECTAGG(
BeerID: BeerName )
FROM beer;
What are the results? See possible answers