Category: SQL Server

When (Not) to Use NOLOCK

Quick Tips for Faster SQL Servers: When (Not) to Use NOLOCK

Many developers mistakenly use WITH (NOLOCK) in their SELECT statements without fully understanding its effects. While they might aim to speed up queries or prevent deadlocking, NOLOCK can actually lead to invalid results. What does NOLOCK do? A SELECT statement in SQL Server locks data to prevent modifications during querying. The lock is released after…
Read more

A team gathered to build an Availability Group together.

Building an Availability Group? Involve Key Players First.

So, you’ve decided your organization’s data needs to remain highly available. Given the options in SQL Server, you’ve decided an Availability Group makes the most sense for your scenario. What’s next? Involve Stakeholders Early in the Process of Building a SQL Server Availability Group Before jumping into building your Availability Group, it’s crucial to identify…
Read more

Image of a lost person reading a road map. This is your SQL Server when you use the "sp_" prefix to name a stored procedure and send it the long way around.

Quick Tips for Faster SQL Servers: Don’t Name Your Stored Procedures Using The “sp_” Prefix

A common mistake database developers make in SQL Server is naming their stored procedures with the “sp_” prefix. Organizations sometimes even adopt this as a standard convention (along with the “tbl_” prefix for tables!). So, why is this considered a bad practice? It’s inefficient. The “sp_” prefix is used by SQL Server to designate internal…
Read more

High availability options--which one should you choose?

Availability Groups: What’s Right for Your Business?

I’ve had several companies inquire about SQL Server’s built-in high availability options over the years. This conversation usually indicates a need to ensure that their database systems remain operational and accessible with minimal downtime. But why now? They’ve been in business for years and are just now interested in HA/DR. What changed? Reasons vary, but…
Read more

SQL Server memory configuration fine-tunes your servers' performance.

SQL Server Settings: Memory Configuration

SQL Server is designed to efficiently manage memory on its own. It requests memory when it’s needed and releases memory back to the system when it’s not. However, the default settings may not be ideal for your situation. An experienced database administrator will usually fine-tune these settings to optimize performance and server stability. Minimum server…
Read more

Extended Support expires July 14, 2026

Should I Upgrade? Understanding Mainstream and Extended Support for SQL Server

“So, I’ve heard that SQL Server 2016 Extended Support expires on July 14, 2026. That doesn’t sound like a good thing, but what exactly does it mean? Can I still use my SQL Server, or do I have to upgrade? And what’s the difference between Mainstream and Extended Support anyway?” That’s a pretty common question.…
Read more

SQL Server Database File Layout: Separating Data and Log Files When Using Flash Arrays

For years, I’ve recommended data and log files reside on separate drives for performance reasons. But given today’s flash arrays, virtualization, and much of the storage subsystem being abstracted, is separating data and log files still important? Short answer: yes, it should be, but don’t stop there. Long answer: it depends. You should review multiple…
Read more

sql server optimize for ad hoc workloads

SQL Server Settings: Optimize For Ad-hoc Workloads

I’m my last post on SQL Server Setting, I discussed MAXDOP and how it can affect SQL Server performance. In this post, I’ll review another SQL Server configuration setting that can impact performance – Optimize for Ad-hoc Workloads. What is the plan cache? Every time you run a query in SQL Server, an execution plan…
Read more

SQL Server log files

Anatomy of a SQL Server Transaction Log

Recently, we discussed the role of the recovery model in establishing how SQL Server manages database transaction logs. But what is the SQL Server log composed of? How does the logging process work? In this post, we will dissect the SQL Server transaction log to uncover its core anatomy. First, what is the transaction log?…
Read more

mixing sql backup strategies

The Risks of Mixing SQL Server Native Backups with Snapshot Technologies

As a DBA, one of the most critical aspects of managing SQL Server is ensuring the integrity and reliability of database backups. SQL Server’s native backup functionalities offer robust tools for securing your data, particularly for databases utilizing the full recovery model. However, mixing SQL Server native backups with disk or VM snapshots can lead…
Read more