Finally, A SQL Server Monitoring System that Leverages Query Store

I’ve spent a bit of time with Microsoft’s new database watcher tool for Azure SQL recently. There are a lot of things I like about database watcher– which is currently in preview and which refuses to Capitalize Its Name– but it does one big thing that I really, really like: it collects data from Query Store. You can access that Query Store data from built-in database watcher dashboards, query it using KQL, or (something something) in Microsoft Fabric if you’ve got money to burn on your monitoring data.

Continue reading

Learn Perf Tuning in 2 Days at PASS Summit 2024 with Erik Darling and Kendra Little

I’m teaming up with Erik Darling to teach you SQL Server Performance Tuning in two days at the PASS Data Community Summit in Seattle.

Erik and I are co-teaching both days of training to give you a strong strategic background on the internals you need to know, along with critical tactical performance tuning techniques. Join us to level up your perf tuning skills!

Register Here →

Continue reading

Query Store Size Based Cleanup Causes Performance Problems - How to Avoid It

I’ve got a backlog of learnings from stress-testing to blog, so if you like this post there’s more to come. I’m a huge fan of SQL Server’s Query Store feature. Query Store collects query execution plans and aggregate query performance metrics, including wait stats. Having Query Store enabled makes troubleshooting performance issues such as bad parameter sniffing, much, much easier. Because Query Store is integrated into SQL Server itself, it also can catch query plans in a lightweight way that an external monitoring system will often miss.

Continue reading

Top 5 Toxic Flavors of Tech Execs

I’ve been an employee at small, medium, and large companies, and I’ve also been a short-term consultant working with a new company in any given week. I’ve worked with hundreds of tech companies remotely and have visited companies onsite on multiple continents.

Air-dropping into company cultures to work through problems with teams and present recommendations to their leadership reveals common anti-patterns in leadership – plus some patterns that make teams raving fans of their management.

Here’s the top 5 Toxic Flavors of Tech Execs I’ve encountered over 20 years, plus the Top 5 Team Building Tech Execs I’ve found, too.

Continue reading

Something Weird Happened: I Love My Job Again

Back in my 20’s, I was lucky enough to go to graduate school. I had a work-study job in the Dean’s office where I got to develop and administer their Access databases, which helped me get by. One day, the Dean said to me: “Kendra, when you talk about your work on our databases, you light up. When you talk about your coursework, that doesn’t happen. Have you thought about that?

Continue reading

You Will Not Find Long Compilers Who Time Out in Query Store

Last November, a puzzle was really bothering me. Some queries from an application were timing out frequently after running for 30 seconds, but they were halfway invisible in the SQL Server.

Continue reading

How to Start an XEvents Trace on a Read Scale-Out Azure SQL Managed Instance

It took me more than half hour to figure out how to start an XEvents trace on a read-scale out instance of Azure SQL Managed Instance. It’s hard to monitor read scale-out instances, so tracing is desirable! I started with a simple trace of sql_statement_completed. Hopefully this saves other folks some time.

Continue reading

Should You Use SQL Server Readable Secondaries if Queries Can Fail Repeatedly at Any Time?

If you use readable secondaries in Availability Groups or Read-Scale out instances in Azure SQL Managed Instance, you may have queries fail repeatedly if there is a glitch and statistics are not successfully “refreshed” on the secondary replica. Those queries may keep failing until you manually intervene.

It’s unclear if Microsoft will ever fix this. There is a well established support deflection article which documents the issue and provides ‘workarounds’.

Continue reading

Ugly Bug: SQL Server Online Index Rebuild sometimes happens offline without warning

I found a nasty bug in SQL Server and Azure SQL Managed Instance recently: sometimes an “online” index rebuild of a disk-based rowstore clustered index (basically a normal, everyday table) isn’t actually “online”. In fact, it’s very OFFLINE, and it blocks both read and write queries against the table for long periods.

If you manage to make it through a rebuild successfully, the problem goes away for future rebuilds of that clustered index – likely leaving you bruised and bewildered.

Continue reading

Is the Azure SQL Managed Instance Business Critical Service Tier Worth the Cost?

The Business Critical service tier in Azure SQL Managed Instance is a lot more expensive than General Purpose. For the extra money, you get a different architecture.

Is it worth the extra cost? Spoiler: your mileage will vary, but probably not. Let’s talk about why.

Continue reading