Skip to content

SQL Table Talk

Breaking Down SQL Server, One Post at a Time.

Menu
  • About Us
  • Blogging Schedule
  • Contact Us
Menu

Hunting Deprecated Features in SQL Server 2025: A Practical Guide for Enterprise DBAs

Posted on November 26, 2025November 25, 2025 by Stephen Planck

This post explains what deprecated features mean in SQL Server 2025 and how they impact long-term stability and upgrade planning. It outlines practical methods for detecting deprecated features using performance counters, Extended Events, static metadata queries, and assessment tooling. A complete T-SQL demo script is included so DBAs can reproduce the investigation in a lab. The content is written for enterprise SQL Server DBAs who need reliable, repeatable techniques to understand and mitigate deprecation risk. The focus is on real examples and operational clarity rather than promotion or hype.

Choosing SQL Server Availability Groups over FCIs and Mirroring

Posted on October 23, 2025October 22, 2025 by Stephen Planck

Availability Groups have become the modern standard for SQL Server high availability and disaster recovery. They provide readable secondaries, offload backups, and allow multiple databases to fail over together—capabilities that older technologies like FCIs and mirroring simply can’t match. This post explains how AGs work, why they’re worth adopting even for seasoned DBAs, and what trade-offs to consider before migrating. Learn how to modernize your SQL Server environment without sacrificing stability.

Auto Seeding vs. Manual Seeding for AG Secondary Replicas in SQL Server

Posted on October 10, 2025October 9, 2025 by Stephen Planck

This post explains the technical differences between automatic seeding and manual seeding for secondary replicas in SQL Server 2022 Always On availability groups. It describes how automatic seeding uses the AG transport layer to stream a virtual backup directly to the secondary, while manual seeding relies on traditional backup and restore operations. The discussion includes configuration details, compression options, and monitoring techniques. We also cover the pros and cons of both approaches.

When 1,000+ Partitions in SQL Server Becomes an Anti-Pattern

Posted on September 23, 2025September 19, 2025 by Stephen Planck

SQL Server supports up to 15,000 table partitions, but going beyond 1,000 is a known anti-pattern. Large partition counts introduce memory pressure, longer DBCC runtimes, and unsupported maintenance scenarios. Queries without partition elimination often slow down, and compilation overhead grows as partitions multiply. Empty partitions also add metadata overhead and create unnecessary complexity. This post explains why 1,000 should be treated as a practical ceiling and how to design smarter partition strategies.

Common Transaction Pitfalls After Migrating from Oracle to SQL Server

Posted on September 10, 2025September 9, 2025 by Jon Russell

This post explains common transaction pitfalls when migrating from Oracle to SQL Server. It highlights key differences in concurrency models, autocommit behavior, and isolation levels. Readers will learn why disabling autocommit or enabling implicit transactions can cause blocking and performance issues. The article provides guidance on enabling READ_COMMITTED_SNAPSHOT (RCSI), monitoring tempdb or Persistent Version Store (PVS), and detecting long-running transactions. A DBA checklist and best practices are included to help ensure smooth performance after migration.

Why staying on the legacy Cardinality Estimator in SQL Server 2022 is a bad idea

Posted on August 29, 2025August 28, 2025 by Stephen Planck

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

Posted on August 8, 2025August 8, 2025 by Jon Russell

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

Posted on August 5, 2025August 5, 2025 by Stephen Planck

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

Posted on August 1, 2025August 1, 2025 by Jon Russell

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

Posted on July 30, 2025July 29, 2025 by Stephen Planck

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).

Posts pagination

1 2 … 17 Next

Subscribe to receive notifications of new blog posts when they are published.

Recent Posts

  • Hunting Deprecated Features in SQL Server 2025: A Practical Guide for Enterprise DBAs
  • Choosing SQL Server Availability Groups over FCIs and Mirroring
  • Auto Seeding vs. Manual Seeding for AG Secondary Replicas in SQL Server
  • When 1,000+ Partitions in SQL Server Becomes an Anti-Pattern
  • Common Transaction Pitfalls After Migrating from Oracle to SQL Server

Recent Comments

  1. David Day on SSISDB Catalog and Delegation in Double-Hop Scenarios
  2. T-SQL Tuesday #192: SQL Server 2025!!! | Every Byte Counts on Flow Control in Availability Groups and SQL Server 2022 Enhancements
  3. vds kirala on Best Practices for SQL Server Backup and Restore Strategies
  4. Kellie Lucas on Remembering Yvonne Vanslageren
  5. Tejaswini on Understanding “CU + GDR” in SQL Server Servicing: What It Really Means

Categories

  • Artificial Intelligence
  • Automation
  • Availability Groups
  • Azure
  • Career as SQL Server DBA
  • Change Data Capture
  • CLR Integration
  • Connectivity
  • Containers
  • Data Integrity
  • Database Configuration
  • Encryption
  • ETL
  • In-Memory OLTP
  • Indexing
  • Internals
  • Locking
  • Log Shipping
  • Maintenance
  • Memory
  • Migration
  • Performance
  • PostgreSQL
  • PowerShell
  • Query Optimization
  • Query Store
  • Replication
  • Security
  • SQL Auditing
  • SQL Developer
  • SQL Server 2022
  • SQL Server 2025
  • SQL Server Integration Services
  • SQL Server on Linux
  • SQL Server Reporting Services
  • SQL Server Tools
  • Statistics
  • Storage Engine
  • Transaction Logs
  • Troubleshooting
  • TSQL
  • Tutorial
  • Uncategorized
  • Windows Failover Cluster
©2026 SQL Table Talk
Disclaimer: The views and opinions expressed on this blog are solely my own and do not reflect the views and opinions of Microsoft Corporation. All content provided on this blog is for informational purposes only. The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site. The owner will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of this information.
Advertisement