Press "Enter" to skip to content

Day: July 16, 2026

Detecting Schema and Data Drift via SSDT

Andy Brownsword goes back to SQL Server Data Tools:

Schema drift is an inevitable part of environments where database changes are applied manually. Sometimes it’s dev-ing in production, other times it’s lax change control. Either way you’ve got a problem, and SSDT comparisons may be the solution.

In this post I want to look at how using the Schema Compare and Data Compare features of SSDT can compare different environments to detect movements in schema and core data. The key points are consistency and specificity

The engine that the Visual Studio extension uses for schema and data comparisons is pretty solid, though my recollection was that it was difficult to script these comparisons or make them work across a number of databases that should be equivalent. Back in the day, we ended up purchasing Redgate tooling for that reason, because it had an API for its schema and data comparison features. But if you’re doing a one-off comparison, the free version built into Visual Studio is pretty good.

Leave a Comment

Index Rebuild Completion Percentages in SQL Server

Andrea Allred goes searching for the truth:

I truly don’t know when it happened, but over the last while I have noticed that the percentage complete on indexes has disappeared when I run sp_whoisactive. It makes me so sad! I used that functionality often to track how things were progressing in my databases. At first I thought it was a version thing and it would come back, then I wondered if it was only when I use “ONLINE = ON”, but I am seeing it blank more and more. It has left me feeling like I am missing something and today, I finally did the digging to learn how to get that visibility back.

Click through to see how.

Leave a Comment

Settings and Configurations to Avoid in SQL Server

Jeff Iannucci has a list:

SQL Server has quite a few instance and database configuration options, which is great if you need to make changes for different business workloads. But some of these configurations can do more harm than good, especially with modern version of the product.

As a consultant, I’ve had the opportunity to work with many clients who have a diverse range of configurations for their instances. And every now and then I see some that have been configured for what I can only presume is a predilection for danger. I mean, little to no good can come of them.

So today I wanted to share with you a few that I have seen used or changed, and to recommend to you with all the influence that I may have, that you DON’T TOUCH THEM – THEY’RE EVIL!

The contrarian in me wants to poke holes at some of these, though all of his database-level settings are defensible. On the instance level, I do have some gripes, specifically with fill factor (at least if you’re following Jeff Moden’s strategy). I thought about having a gripe around min server memory, but that’s reasonable—it’s max server memory that tends to be much more important to change.

Leave a Comment

What Comes Next for SQL Server 2016

Debbi Lyons lays it out:

As of today, July 14, 2026, SQL Server 2016 has reached end of support.

For the past decade, SQL Server 2016 has helped organizations run mission-critical applications and support the data needs of their business. Whether it was end-to-end encryption with Always Encrypted or performance improvements with In-Memory OLTP, SQL Server 2016 was shaped by evolving data platform needs and what we heard directly from customers like you.

Last year, we shared guidance on how to prepare for this milestone: Protect and modernize SQL Server 2016 workloads with Microsoft. Now, after 10 years of powering innovation, the focus shifts to what comes next.

It basically comes down to “Pay Microsoft a lot more money for one-off security fixes or upgrade to a version that isn’t a decade old.”

Leave a Comment

Replacing Item IDs and Connection Strings with Variable Libraries

Gilbert Quevauvilliers makes use of variable libraries in Microsoft Fabric:

In this blog post I’m going to show you how you can use variable libraries with connection strings as well as items.

This approach allows you to manage environment-specific configuration when deploying Fabric items across development, test, and production workspaces

If you’re looking to move your fabric capacities across workspaces or regions, you can do this quickly and easily without having to re-Plumb a lot of the work.

Click through for a working example.

Leave a Comment

Subqueries in the SELECT Clause

Louis Davidson tries out a few query forms:

The post states that a query such as:

SELECT soh.SalesOrderID,(SELECT  C.AccountNumberFROM    Sales.Customer AS CWHERE   C.CustomerID = SOH.CustomerID)AS CustomerAccountNumberFROM   Sales.SalesOrderHeader SOH;

will, by definition, execute that subquery on the Customer object one time per row in the SalesOrderHeader table.

But is this true?

Click through as Louis tests a few variants of this using SQL Server.

Leave a Comment