It’s that time of year again! EightKB is back on August 20th at 13:00 UTC , and registration is open right now. It’s completely free. No catch, just a full day of the deepest SQL Server content you’ll find anywhere on the internet. 
 Mark, Andrew, and I have been putting this event on since 2020, and this year’s lineup might be the best one yet. All sessions are…
Here’s the scenario: one of my SQL Server instances migrated to the DR array. The VM moved, the old volumes were destroyed, and nobody created a Protection Group on the destination. There were no alerts. Nothing failed. The DR environment just quietly had no data protection. No snapshots, no replication. We’d have had no idea until we needed to recover. Ok, well this was in my lab, but…
I’m honored to announce that I’ve been renewed as a Microsoft MVP for the tenth consecutive year , recognized in the Azure SQL and SQL Server technical areas under Data Platform. Ten years. I honestly didn’t see that coming when I set a five-year goal back in 2016. 
 
 
 Ten Years 
 I want to stop and acknowledge that milestone for a moment. When I first earned…
I’ve been working on a project that combines two things I spend a lot of time with: MongoDB sharded clusters and Everpure FlashArrays. The goal is a production-grade backup and restore solution that avoids mongodump , doesn’t require fsyncLock , and scales across as many arrays as your cluster needs without any code changes. In this post I’m walking through the complete workflow…
I’ve been thinking a lot lately about what it actually takes to make an AI agent genuinely useful for database work, both for administration and for application access to the data tier. Writing the T-SQL code is the easy part. A coding assistant can do that out of the box. The hard part is giving it visibility into a running SQL Server: which sessions are blocked right now, where the wait…
If you’ve been following my T-SQL Snapshot Backup series , most of what I’ve covered requires SQL Server to participate in the snapshot: the write IO freeze, the metadata backup, the coordinated workflow. This post covers the other side of that coin: crash-consistent cloning. No write freeze. No backup. No point-in-time recovery. Just a raw volume clone that SQL Server recovers from…
If you’ve been following my T-SQL Snapshot Backup series , you’ve seen this technique work on bare-metal and standard VM deployments where database files live on volumes directly presented to the SQL Server OS. In this post, I’m bringing T-SQL Snapshot Backup into a Hyper-V cluster environment, with database files on VHDXs backed by a Pure Storage FlashArray Cluster Shared Volume…
I’ve been doing storage load tests for SQL Server for a long time, both as a consultant and now in my work at Everpure, and I see the same patterns over and over. Someone spins up a VM with two vCPUs, points it at a storage subsystem (cloud or on-prem), runs a thousand threads at it, and then concludes that the storage stinks. Or the opposite, where they buy a 64 gigabit HBA, plug it into…
In my planned failover walkthrough , I showed what happens when you deliberately move the primary role to another replica. That’s the easy case. Now I want to show what happens when the primary pod just disappears unexpectedly, like during a node failure or a container crash. No graceful shutdown, no demotion, just gone. 
 I ran two test scenarios, each cycling the primary role across…
When building the sql-on-k8s-operator , I wanted to make sure it could handle both planned and unplanned failovers. The easy case is a planned failover, where you deliberately move the primary role to another replica. The harder case is an unplanned failover, where the primary pod just disappears. The operator needs to handle both. 
 I recently ran a full planned failover rotation on a…
I’ve been doing a deep dive into SQL Server on-disk structures lately, and one of my favorite rabbit holes is revisiting Paul Randal’s series on file header pages . If you haven’t read it, go do that now. It covers what file header pages are, what they contain, and what happens when they corrupt. This post takes that concept and runs with it. I’ll use DBCC FILEHEADER to…
Are you considering replatforming your SQL Server workload due to recent vendor changes, but still need high availability and disaster recovery? You’re not alone. One of the challenges with running SQL Server on Kubernetes is that there’s no Kubernetes operator available. That means no automated lifecycle management, no automatic failover, and no standard way to bootstrap an Always On…
Good news for anyone who’s been working around the AVX issue I wrote about in my previous post . Microsoft has fixed it in Cumulative Update 1 (CU1) for SQL Server 2025. 
 What Changed 
 Back in November when SQL Server 2025 RTM was released and I upgraded to macOS 26, I ran into an AVX instruction issue that prevented the container from starting on Docker Desktop using Rosetta on…
If you’re like me, you’ve probably been following Microsoft’s announcement about native NVMe support in Windows Server 2025 with great interest. While it’s limited to local drives, how about we break that rule and leverage our virtualization layer extend NVMe benefits throughout the entire storage stack, even to remote storage like a FlashArray? I decided to test that…

 Update (February 2, 2026): Microsoft has fixed this issue in SQL Server 2025 CU1. The container now runs successfully on Docker Desktop for macOS without needing OrbStack. See my follow-up post for details. 
 SQL Server 2025 RTM is here , and if you’re running Docker on macOS Tahoe 26, you might have hit a wall trying to get it running. Here’s what happened when I tried…
Introduction 
 When you’re running MongoDB at scale with data distributed across multiple Pure Storage FlashArrays, achieving truly consistent backups becomes a critical and interesting technical challenge. In this post, I’m walking through an automated snapshot and recovery solution for a sharded MongoDB cluster running across two separate FlashArrays. While this demonstration…
In my previous post , I showed you how to build a snapshot backup catalog using SQL Server 2025’s new native REST API integration. But what if you’re still running SQL Server 2022? Should you miss out on this powerful capability that SQL Server and Pure Storage provide? Absolutely not. 
 In this post, I’m going to show you how to build the same snapshot backup catalog…

 Update for SQL Server 2025: 
This post and the GitHub repo have been updated for SQL Server 2025 RC1 and Ubuntu 24.04. 
 New in SQL Server 2025: You no longer need to install the PolyBase service to interact with Parquet files in S3. Previously, with SQL Server 2022, you had to build a custom container or manually install PolyBase. Now, S3 object integration and Parquet support work…
SQL Server 2025 introduces native support for vector data types and external AI models. This opens up new scenarios for semantic search and AI-driven experiences directly in the database. But as with any external service integration, performance and scalability are immediate concerns, especially when generating embeddings at scale. 
 https://github.com/nocentino/ollama-lb-sql 
 Problem:…
I’m excited to announce the release of a new open-source project that fully automates HammerDB benchmarking for SQL Server using Docker. If you’ve ever needed to run TPC-C or TPC-H benchmarks multiple times, you know how time-consuming the manual setup can be. This project removes the hassle and gets you up and running a single command: ./loadtest.sh . 
 Why I Built This 
 In…
In modern IT environments, not all workloads require the same level of storage performance, protection, or cost. Some applications need high performance with aggressive data protection, while others are perfectly fine with lower performance in exchange for cost savings. This tiered approach to storage service delivery is fundamental to efficient infrastructure management. 
 In my previous post…
Ollama SQL FastStart streamlines the deployment of SQL Server 2025 with integrated AI capabilities through a comprehensive Docker-based solution. This project delivers a production-ready environment combining SQL Server 2025, Ollama’s large language model services, and NGINX with full SSL support—all preconfigured to work together seamlessly. 
 I built this project to eliminate the…
When managing storage infrastructure at scale, one of the most powerful approaches is treating related storage resources as cohesive Workloads rather than individual components. This becomes especially important when dealing with applications like SQL Server that have specific storage patterns and requirements and are often deployed at scale in a datacenter or cloud. 
 In this post, I’ll…
I am honored to announce that I have been renewed as a Microsoft MVP for the ninth consecutive year, recognized in the Azure SQL and SQL Server technical areas under Data Platform. Thanks for this incredible journey that began in 2017. 
 Thank You 
 I want to thank Microsoft for this continued recognition. The MVP program has provided me with numerous opportunities to connect with…
I’m really excited to share some new functionality in SQL Server 2025 combined with some innovations in FlashArray’s REST API. 
 In this post, I’m going to show you how to build a snapshot backup catalog using FlashArray Protection Group Tags and orchestrating the work using SQL Server 2025’s new native REST integration. 
 With this solution, you will have the…
I’m excited to share a new open-source project I’ve been working on that combines two of my favorite areas: SQL Server and Pure Storage FlashArray performance monitoring. If you’ve been following my blog, you know I am passionate about creating tools that bridge the gap between database platforms and storage infrastructure. 
 SQL Server performance troubleshooting has always…
SQL Server 2025 introduces a new compression algorithm called ZSTD (Zstandard) , which can enhance database backup performance. Using ZSTD allows for greater control over backup performance, particularly concerning CPU usage and backup duration. I recently conducted some preliminary benchmarks comparing ZSTD at its three compression levels with the existing MS_XPRESS algorithm. The results are…
In this post, I’ll walk you through a T-SQL script that creates application-consistent snapshots on Pure Storage FlashArray, all from within SQL Server, no external tooling. SQL Server 2025 introduces a powerful new feature: the sp_invoke_external_rest_endpoint stored procedure. This enhancement makes calling REST APIs directly from T-SQL easier than ever. Combining this new capability with Pure…
With the release of SQL Server 2025, Microsoft is firmly positioning its flagship database platform as an enterprise-ready AI solution. Having spent time with the preview builds and working with the feature set, I believe this release represents a significant opportunity for organizations to leverage AI capabilities and their existing investments in SQL Server infrastructure, skills, and…
As AI continues to evolve, many of us are looking for ways to leverage large language models (LLMs) without relying on cloud services. As we learned in my previous post “Using a Local Large Language Model (LLM): Running Ollama on Your Laptop” , running models locally gives you complete control over your data, eliminates API costs, and can be integrated seamlessly into your existing…
You can now run powerful LLMs like Llama 3.1 directly on your laptop using Ollama . There is no cloud, and there is no cost. Just install, pull a model, and start chatting, all in a local shell. 
 Large Language Models (LLMs) have revolutionized how we interact with data and systems, but many assume you need significant cloud resources or specialized hardware to run them. Today, I want to walk…
In this post, the fifth in our series , I want to illustrate an example of using the T-SQL Snapshot Backup feature in SQL Server 2022 to seed Availability Groups (AGs) with storage-based snapshots. Efficiently seeding an Availability Group is essential for maintaining high availability and ensuring effective disaster recovery. With the introduction of T-SQL Snapshot Backup in SQL Server 2022,…

 Update (February 2026): This post has been updated to reflect the current best practices for monitoring FlashArray using OpenMetrics. Starting with Purity//FA 6.7.x, FlashArray includes a native OpenMetrics exporter, eliminating the need for a separate exporter service/container. The configuration examples below now demonstrate direct-to-array scraping. 
 This post introduces you to…
In this post, the fourth in our series , I want to share an example demonstrating SQL Server 2022’s T-SQL Snapshot Backup feature in a scenario where a database spans multiple storage arrays. If you’re dealing with multi-array environments, you’ll appreciate how this technique freezes database write I/O to take coordinated snapshots across volumes on two FlashArrays. In this post, I’ll walk…
SQL Server 2025 is an upcoming release focused on AI, analytics, and modern database development, backed by innovations in mission-critical engine features for security, performance, and high availability. 
 Let’s dive into what this means for your AI and data-driven applications. We’ll walk through some of the new features announced by Azure Data Principal Architect Bob Ward in…
In this post, the third in our series on using T-SQL Snapshot Backup , I will guide you through using the new T-SQL Snapshot Backup feature in SQL Server 2022 to take a snapshot backup and then perform point-in-time database restores using that snapshot backup as the base, but this time using an Azure Virtual Machine . We will explore how to manage Azure storage-level operations, such as taking…
In this post, the second in our series , I will guide you through using the new T-SQL Snapshot Backup feature in SQL Server 2022 to take a snapshot backup and perform point-in-time database restores using a snapshot backup as the base of the restore. We will explore how to manage storage-level operations, such as cloning snapshots and executing an instantaneous point-in-time restore of a database…
Traditional SQL Server backups can struggle with large databases, resulting in longer backup times and resource contention. T-SQL Snapshot Backup , a new feature in SQL Server 2022, addresses these challenges by allowing storage-based snapshots to be coordinated through T-SQL. This feature delivers faster, more efficient backups, especially for large-scale environments with the most aggressive of…
Welcome back to the fifth installment of our blog series on using the Pure Storage PowerShell SDK2 . In this post, we’re diving into a hands-on demonstration of using the Pure Storage FlashArray API to track replication performance between two arrays. This is especially useful for DBAs and storage admins, who must ensure their data replication processes run smoothly and efficiently. A typical…
We’re working through the major refresh of my Certified Kubernetes Administrator series at Pluralsight! 
 The next course “Certified Kubernetes Administrator: Performing Cluster Version Upgrades” in the updated series is now available on Pluralsight here ! If you want to learn about the course, check out the trailer here , or if you’re going to dive right in, check it…
This post shows you how to install containerd as the container runtime in a Kubernetes cluster. I will also cover setting the cgroup driver for containerd to systemd, which is the preferred cgroup driver for Kubernetes. 
 In Kubernetes version 1.20 Docker was deprecated as a container runtime in a Kubernetes cluster and support was removed in 1.22. Kubernetes 1.26 requires that you use a…
We’re working through the major refresh of my Certified Kubernetes Administrator series at Pluralsight! 
 The next course “Certified Kubernetes Administrator: Working With Your Cluster” in the updated series is now available on Pluralsight here ! If you want to learn about the course, check out the trailer here , or if you’re going to dive right in, check it out here !…
We’re kicking off a major refresh of my Certified Kubernetes Administrator series at Pluralsight! 
 The second course “Certified Kubernetes Administrator: Using kubeadm to Install a Basic Cluster” in the updated series is now available on Pluralsight here ! If you want to learn about the course, check out the trailer here , or if you’re going to dive right in, check it…
We’re kicking off a major refresh of my Certified Kubernetes Administrator series at Pluralsight! 
 The first course “Certified Kubernetes Administrator: Kubernetes Foundations” in the updated series is now available on Pluralsight here ! If you want to learn about the course, check out the trailer here , or if you’re going to dive right in, check it out here ! This…
Welcome back to the fourth installment of our blog series on using the Pure Storage PowerShell SDK2 . In this post, you’ll learn how to use Purity Tags to classify workloads, giving you the ability to search and manage resources in FlashArray and Cloud Block Store based on the types of workloads you’re running. Using the techniques in this post, combined with those learned in our last…
SQL Server 2022 introduces a new feature to enable application-consistent snapshot backups. TSQL Snapshot Backups enable the SQL Server to control the database quiesce without external tools. Using TSQL Snapshot backups enables instantaneous restores, independent of the size of data, for a database, group, or server backups, including point-in-time recovery. 
 When you use this feature, it…
Welcome back to the third installment of our blog series on using the Pure Storage PowerShell SDK2 . In this post, we’ll learn how to retrieve performance data from FlashArray and Cloud Block Store. Here, you’ll uncover the intricacies of extracting performance data across several object types, including Volumes and Hosts. We will dig into the object model that exposes crucial…
Welcome back to the second installment of our series on using the Pure Storage PowerShell SDK2 . In this post, we’ll dive into working with object data using Pure Storage PowerShell SDK2. 
 When it comes to manipulating data in PowerShell, the ability to effortlessly pipe objects and their associated data between cmdlets is a game-changer. However, when it comes to Pure Storage…
Welcome to our blog series on using the Pure Storage PowerShell SDK2 . In this series, we will provide you with practical insights and examples on how to harness the power of the Pure Storage PowerShell SDK2 to enhance your storage management capabilities. 
 Throughout this series, we will cover a wide range of topics, including performance data gathering, snapshot management, performance…