Press "Enter" to skip to content

Curated SQL Posts

SQL Server 2025 Installation on a Disk with Large Sector Size

Reitse Eskens runs into a problem:

This warning felt benign; more like you can run into errors. Well, as I found out, this lets you run into an SQL Server installation that just fails.

The error logs fill up with stack dumps and a fatal error that makes no sense. The installation log, however, shows you a more meaningful error.

Click through for the error message, as well as one way to fix the problem.

Leave a Comment

Backup Updates in SQL Server 2025

AK Gonzalez summaries some changes:

For years, database professionals faced a frustrating limitation. With Availability Groups, you could offload some workloads to secondary replicas—but not your real backup strategy.Yes, you could run copy-only backups on a secondary. But true full backups? Differential backups that maintain the LSN chain? Those had to run on the primary replica, until now. SQL Server 2025 introduces the ability to run true full backups and true differential backups on secondary replicas.

Read on to see what this means. AK also looks at the change to ZSTD for backup compression and immutable backups in Azure Storage.

One thing I would want to warn anybody (or any company) looking into using immutable storage for backups is, Microsoft’s not joking about that immutability. That includes deleting them when you see what the bill is going to be. You can set retention polices to delete these automatically, but that’s the only way you’re getting rid of those old backups. And just because they’re old doesn’t mean you get charged less for the privilege of storing them off-site.

Leave a Comment

Kerberos Error: It’s Always SPNs

Mike Lynn shares a story:

We were setting up a brand-new SQL Server 2022 instance and couldn’t connect remotely using valid Windows credentials. Every attempt gave us the same error: “Login is from an untrusted domain and cannot be used with Windows authentication.” The client only has one domain. Permissions and firewalls checked out. Local connections with domain accounts worked fine. So why was the server rejecting us from every remote machine, no matter how we connected? The answer turned out to be a change in Windows Server 2025 that more and more DBAs are going to run into.

My advice for every DBA is as follows: make sure you have at least a rudimentary understanding of SPNs, including what they are, what can go wrong when they aren’t set correctly, what “set correctly” even means, and how to set them. You don’t need to be an expert on Kerberos, but I think you do need to be a technician who can note a specific error code and troubleshoot the issue from there.

If you ever had to deal with SSRS or SSIS double-hop issues, you’ve likely already dealt with SPNs in some fashion. Just bite the bullet and spend a few hours boning up on the topic.

Leave a Comment

MicrosoftFabricMgmt Powershell Pipeline Operations

Rob Sewell chains together some operations:

Last week I showed you how to work with workspaces — creating, updating, removing, assigning capacities. But we were doing each operation in isolation. Today I want to show you what happens when you connect those operations together using the PowerShell pipeline.

This is one of my favourite aspects of PowerShell and therefore it was imperative that Jess Pomfret B S L and I revamped the module to fully support pipeline operations. Every cmdlet that makes sense in a pipeline is built to work in one.

Click through for some examples of what this means.

Leave a Comment

Diagnosing a Driver Error

Sean Gallardy troubleshoots an error:

The symptoms of this issue were interesting, every so often the instance would just kind of get “stuck” – at least that is how it was described to me. Nothing would work, cancelling queries, attempting to kill queries, submitting anything new, nothing seemed to really do anything except restarting the service. Once the service was restarted, the instance (and AG) would hum along nicely… until some random time later when submitting different queries would just grind to a halt. Fun.

The answer is just as dumb as you’d think. But I won’t spoil the punch line here.

Leave a Comment

A Primer on Apache Iceberg

Brendan Tierney provides an introduction to Apache Iceberg:

Modern data platforms increasingly separate compute from storage, using object stores as durable data lakes while scaling processing engines. Traditional “data lakes” built on Parquet files and Hive-style partitioning have limitations around atomicity, schema evolution, metadata scalability, and multi-engine interoperability. Apache Iceberg addresses these challenges by defining a high-performance table format with transactional guarantees, scalable metadata structures, and engine-agnostic semantics.

Apache Iceberg, an open-source table format that has become the industry standard for data sharing in modern data architectures. Let’s have a look at some of the key features, some of its limitations and a brief look at some of the alternatives.

Brendan explains where Iceberg fits in relation to data formats (e.g., Parquet, ORC, and Avro), as well as competitors like Delta Lake and Hudi.

Leave a Comment

JSONB Data in Postgres and Performance Due to TOAST

Paul Ramsey lays out the facts and the data:

Working with APIs and arrays in the jsonb type has become increasingly popular recently, and storing pieces of application data using jsonb has become a common design pattern.

But why shred a JSON object into rows and columns and then rehydrate it later to send it back to the client?

The answer is efficiency. Postgres is most efficient when working with rows and columns, and hiding data structure inside JSON makes it difficult for the engine to go as fast as it might.

Read on to learn how Postgres manages to store arbitrary-sized JSONB data within the limitations of 8KB pages, and the performance implications of doing so.

Leave a Comment

Pain Points around Direct Lake

Teo Lachev describes a pair of problems:

I’m helping an enterprise client modernize their data analytics estate. As a part of this exercise, a SSAS Multidimensional financial cube must be converted to a Power BI semantic model. The challenge is that business users ask for almost real-time BI during the forecasting period, where a change in the source forecasting system must be quickly propagated to the reporting the layer, so the users don’t sit around waiting to analyze the impact. An important part of this architecture is the Fabric Direct Lake storage to eliminate the refresh latency, but it came up with a couple of gotchas.

Click through for those two problems.

Leave a Comment

An Overview of the Fabric Native Execution Engine

Ankita Victor-Levi introduces a new processing model:

In today’s data landscape, as organizations scale their analytical workloads, the demand for faster, more cost-efficient computation continues to rise. Apache Spark has long been the backbone of largescale data processing with its in‑memory processing and powerful APIs, but today’s workloads demand even better performance.

Microsoft Fabric addresses this challenge with the Native Execution Engine—a vectorized, C++ powered execution layer that accelerates Spark jobs with no code changesreduced runtime, and at no additional compute cost. This blog post will take you behind the scenes to give an overview of how the engine works and how it delivers performance gains while preserving the familiar Spark developer experience users already know and love.

Read on to learn more about its capabilities and current limitations.

Leave a Comment