Cardinality estimation (CE) is how the optimizer predicts the number of rows that will flow through each operator in a plan. Those estimates drive cost, join choices, memory grants, and ultimately latency and resource usage. SQL Server has shipped multiple CE models over time. The pre-2014 model—commonly called the legacy CE—dates back to SQL Server 7.0. Starting in SQL Server 2014, Microsoft introduced a new CE and has continued refining it in later releases, including SQL Server 2022. Keeping the legacy CE turned on in SQL Server 2022 is usually the wrong long-term choice.
Understanding Compatibility Levels in Azure SQL Database
When working with Azure SQL Database, you’re operating on a fully managed SQL Server engine that is continually updated behind the scenes. While Microsoft manages the infrastructure, there are still settings and metadata you control that directly affect how your database behaves and how your applications interact with it. We tell you all about it in this blog post.
Controlling TempDB Resources with Resource Governor in SQL Server 2025
Every SQL Server instance relies on tempdb as its universal scratch pad. When one poorly-written report or maintenance job floods that database with temporary objects, the entire server can stall or even go offline. SQL Server 2025 finally gives database administrators a precise brake pedal: TempDB Space Resource Governance, an extension to Resource Governor that lets you cap how much tempdb space each workload can consume.
Understanding “CU + GDR” in SQL Server Servicing: What It Really Means
SQL Server administrators often encounter Microsoft updates labeled as “CU + GDR”, and understandably, this can cause confusion — especially when trying to stay on a consistent CU-based servicing path. This post clarifies what “CU + GDR” really means and why it’s not something to worry about.
Resumable Maintenance in SQL Server: Index Rebuilds, Index Creation, and ALTER TABLE ADD CONSTRAINT
Large tables make routine maintenance risky. Traditional online index builds and ALTER TABLE ADD CONSTRAINT operations run as a single long‑lived transaction. If an outage or fail‑over occurs near the end, SQL Server rolls back everything, wasting time, expanding the transaction log, and extending maintenance windows. Beginning with SQL Server 2017, Microsoft introduced resumable maintenance so work can pause safely and continue later without losing progress. This post focuses on resumable online index creation and rebuild (2017–2022) and resumable online ADD CONSTRAINT(2022).
SQL Server Permissions and Ownership Chaining
This post demonstrates how to secure reporting views in SQL Server by combining schema‑level permissions with ownership chaining. You’ll create separate schemas for HR data and reporting, define a role and user, then grant and deny the appropriate permissions. The walkthrough shows how a broken ownership chain leads to permission errors and how to realign schema ownership to restore access. It includes scripts for setup, testing via EXECUTE AS, metadata inspection, and clean‑up. By the end, you’ll understand how to expose safe views while protecting sensitive base tables under the least‑privilege model.
PostgreSQL’s pg_visibility: Peeking Under the Hood of Table Storage
When most people think about PostgreSQL internals, they picture tables, indexes, and perhaps the VACUUM process. Tucked away in the contrib extensions, however, is a tool that exposes what really sits on disk: the pg_visibility extension. By querying it, you see how PostgreSQL tracks visibility and freezing at the page level—information that directly affects vacuum efficiency and index-only scans.
Troubleshooting SQL Server Permissions
Understanding and troubleshooting SQL Server permissions can be challenging, especially when direct grants, role inheritance, ownership chains, and explicit denies all interact. The six scenarios that follow show how the engine decides who can do what, then demonstrate the diagnostic steps that reveal why it made that decision. Each section provides a setup script you can run in a dedicated test database, followed by a diagnostic query and a short explanation of the result.
Avoiding the Halloween Problem in SQL Server with Safer UPDATE Patterns
The Halloween Problem can silently degrade SQL Server performance by causing rows to be updated multiple times in a single statement. This post explains how SQL Server’s internal table spool (eager spool) protects against it—and why that can hurt your workload under heavy load. You’ll learn two simple patterns—using CTEs or temp tables—to materialize target rows before the update, eliminating the need for spooky spools. Finally, we cover how batch updates help control locking, reduce escalation risk, and improve concurrency.
Why SSMS 21 Feels Like a New Era for SQL Server Database Professionals
For years, SQL Server Management Studio has anchored day-to-day database work. Most improvements since the 2010s were minor interface tweaks or new wizards that left the underlying 32-bit shell untouched. SSMS 21 marks a clean break: it moves to a modern 64-bit platform, folds indispensable tools into the core product, and refreshes the entire interface without changing the familiar Object Explorer + Query Editor workflow. The result is the same trusted environment—only faster, more accessible, and far better equipped for today’s workloads.