Black Friday prices end in 28d 13h 03m — See the sale

Performance Monitoring and Server Tuning

Diagnosing instance performance through waits, resources, monitoring, and baselines.

405 associated posts180 primary posts

Performance Tuning

Parameter Sniffing in SQL Server 2019: Adaptive Memory Grants

This week, I'm demoing SQL Server 2019 features that I'm really excited about, and they all center around a theme we all know and love: parameter sniffing.

If you haven't seen me talk about parameter sniffing before, you'll probably wanna start with this session from SQLDay in Poland. This week, I'm going to be using the queries & discussion from that session as a starting point.

Read more about Parameter Sniffing in SQL Server 2019: Adaptive Memory Grants 18 comments — Join the discussion
Production DBA

How fast can a $21,468/mo Azure SQL DB load data? (Updated)

Update March 19: Microsoft has since acknowledged a hidden limit, then documented it, then raised it - but it’s still disappointingly slow.

In my last post, I explored how fast a $5,436/mo Azure SQL DB Hyperscale could load data. I'd had a client who was curious about spinning up their dev environment up there to see how query plans might look different. Well, as long as I was running this test, I thought - "How does this compare with Azure SQL DB?"

Read more about How fast can a $21,468/mo Azure SQL DB load data? (Updated) 30 comments — Join the discussion
Production DBA

How fast can a $5,436/mo Azure SQL DB Hyperscale load data?

A client asked, "How quickly could we spin up a full copy of our database in the new Azure SQL DB Hyperscale?" Their database size wasn't too far off from the 340GB Stack Overflow database, so I decided to migrate that to Hyperscale to see how the experience went. Hyperscale is Microsoft's intriguing competitor to Amazon Aurora. Hyperscale…

Read more about How fast can a $5,436/mo Azure SQL DB Hyperscale load data? 16 comments — Join the discussion

SQL Server Perfmon counters that are still interesting in 2019

(Cross-posted from the PASS Blog.)

Years ago, my first go-to tool for performance tuning was Performance Monitor: it was available everywhere, worked in all versions, and gave me a lot of useful information without paying for a monitoring tool. Since then, I've moved on - wait stats are a much better starting point - but there are still 3 good Perfmon counters that I rely on.

Read more about SQL Server Perfmon counters that are still interesting in 2019 14 comments — Join the discussion

[Video] Office Hours 2019/1/2 (With Transcriptions)

This week, Brent, Erik, Tara, and Richie discuss whether you need to premake a destination database in order to run sp_databaserestore, restoring production statistics on dev servers to simulate productions behavior, dealing with duplicate SPNs, tools for detecting all SQL Servers in a production environment, SQL performance monitoring, dealing with very large indexes, and Brent's recent cruise.

Read more about [Video] Office Hours 2019/1/2 (With Transcriptions) 1 comment — Join the discussion

[Video] Office Hours 2018/12/5 (With Transcriptions)

This week, Tara and Richie discuss deletes on heaps, Docker, using containers in production environment, advice for new DBA, downgrading server hardware, agent jobs, setting SQL Memory Min and Max to the same value, how to prove CPU pressure to management using the Power BI report using sp_Blitz, corruption, patching, backups, sargability, and more.

Read more about [Video] Office Hours 2018/12/5 (With Transcriptions) Be the first to comment
Production DBA

Azure SQL DB is Slow: Do I Need to Buy More DTUs?

You've got an Azure SQL DB, and your queries are going slow. You're wondering, "Am I hitting the performance limits? Is Microsoft throttling my queries?"

There's an easy way to check: run sp_BlitzFirst. sp_BlitzFirst is our free performance health check stored procedure that analyzes a lot of common performance issues and then gives you a prioritized list of reasons why your server might be slow right now.

Read more about Azure SQL DB is Slow: Do I Need to Buy More DTUs? 25 comments — Join the discussion

How to Troubleshoot Blocking and Deadlocking with Scripts and Tools

When you need to find which queries are blocking other queries, your decision comes down to when the blocking happened. Is it happening now, recently, or coming up soon? During a live emergency, start with sp_WhoIsActive. Adam Machanic's excellent free sp_WhoIsActive replaces Activity Monitor, sp_who, and sp_who2, and it's way more powerful. The documentation is extensive -…

Read more about How to Troubleshoot Blocking and Deadlocking with Scripts and Tools 2 comments — Join the discussion

[Video] Office Hours 2018/10/10 (With Transcriptions)

This week, Brent, Tara, and Richie discuss splitting large database files across multiple files, security auditing solutions, what Brent is currently teaching at the client location, SQL Server in containers, heap index maintenance, contained databases, extended events, the difference between a junior and Senior DBA, page file sizing, and more.

Here’s the video on YouTube:

Read more about [Video] Office Hours 2018/10/10 (With Transcriptions) Be the first to comment
Performance Tuning

Unused Indexes – Are they really unused or have they just not been used YET?

During our Critical Care® sessions with clients, we often see unused indexes (reads=0) with high writes. Sometimes these unused indexes have very high writes. If an index is never being used to help with performance but SQL Server is having to maintain it for INSERT, UPDATE and DELETE operations, then why keep the index around?

Read more about Unused Indexes – Are they really unused or have they just not been used YET? 12 comments — Join the discussion
Performance Tuning

What’s New in SQL Server 2019: Adaptive Memory Grants

When you run a query, SQL Server guesses how much memory you're going to need for things like sorts and joins. As your query starts, it gets an allocation of workspace memory, then starts work. Sometimes SQL Server underestimates the work you're about to do, and doesn't grant you enough memory. Say you're working with…

Read more about What’s New in SQL Server 2019: Adaptive Memory Grants 3 comments — Join the discussion

[Video] Office Hours 2019/09/12 (With Transcriptions)

This week, Brent, Erik, Tara, and Richie discuss syncing logins and database data via log shipping, monitoring page life expectancy, cumulative update issues, when to change MAXDOP, doing SQL Server install on AWS, connecting to SQL Server instance on a virtual box from the desktop where the virtual box is running, and what real DBAs drink.

Read more about [Video] Office Hours 2019/09/12 (With Transcriptions) 2 comments — Join the discussion