I see TempDB using more memory than I feel it should and found a way to resolve it. Previously I dove into technical details and questioning what I saw in my post TempDB Memory Leak? which is great for proving and debugging an issue. Now I want to step back… Read more
All bloggers started as beginners. We picked things up, learned them, and got to the point where we wanted to start sharing our knowledge. The problem is that most of us moved on to talking about advanced topics and left people to fend for themselves on the difficult entry-level learning… Read more
It’s easy to query XEvents to see some of the basic info in deadlocks, including the system_health session which is already capturing this information by default.
This script will, by default, read from system_health. However, change the name of one parameter at the start to have it read from any… Read more
Normal DBAs will sum up shrinking a database data file in one word: NO!
I’ll talk to you about this subject because I’m not normal. Still, my goal is that you’ll go from “why can’t I shrink my files” to “I don’t want to shrink my files.”
Truth be told,… Read more
On February 6, 2016, Cleveland is hosting a free training event for SQL Server. This has a lot of the great stuff from the big, paid events, and skips some of the negatives.
I found a bug where I’m seeing TempDB use more memory than it should on multiple versions of SQL Server, especially on servers set up with common best practices. There’s a workaround that has a profound affect on server performance, adding to my belief that this is a legitimate bug… Read more
DBAs are known for asking for more memory, but often can’t say what’s in memory. While I agree that many database servers can use more memory, I’m a firm believer in knowing how you’re using your resources before asking for more. The script below allows me to do just that. Read more
Blogging and presenting have changed me for the better, and in ways I didn’t see coming. However, I know I wouldn’t have had them if it wasn’t for three things. Getting it all started, having help getting established, and having an audience for my work were supported by several groups… Read more
Some would say it’s a poor use for SQL Server, and I’d have to agree. However, sometimes things just need… Read more
Continuing with the language-independent code challenge on Advent of Code – Day 3, I’m tasked with figuring out how well a drunken elf can guide Santa to houses. Since his instructions had Santa stumbling into the same house multiple times they then added in a robot to help Santa… Read more
If you want your skills to be sharp, you practice. If you want to get yourself to actually do practice, you call it a “challenge”. This is what the Advent of Code is.
We’ve been using the wrong data types for all the wrong reasons. DBAs, developers, data architects, etc. have all been told to keep data as narrow as possible, using the smallest data type to get the job done. We sacrificed the integrity of our data for the performance of our… Read more
What do I care about when I’m playing with indexes? That’s easy. I want as few indexes as possible efficiently referenced by as many pertinent, well-tuned, consistently written queries as is reasonable. It’s explaining that last sentence that’s the hard part.
The thing that will jump out to most people… Read more
A Clustered Index is not another term for Primary Key, and more thought should be put into the key columns of the index than always allowing them to default to the PK.
First of all, the primary key is the main way you uniquely identify a row in a table… Read more
Data compression is often misunderstood to cost CPU in exchange for smaller size on disk. Somewhat true, but that simple explanation ignores other savings that often result in net drop in CPU utilization.
Full disclosure: This is an Enterprise-ONLY feature introduced in SQL 2008. It is engrained in the structure… Read more
I love working with indexes, and I need to know what’s using them to work on them intelligently. Most of that information is already there waiting for you to query it. Luckily, Jonathan Kehayias (b|t) did the hard work for us in his post Finding what… Read more
Reading the SQL Server Error Log is miserable. It contains very useful information you should address as soon as possible, or at least know that it’s happening. However, it’s hidden between so many informational messages that it’s hard to find, then it’s spread out between multiple files for every server… Read more
I write on my blog and get a couple comments at best. I talk at conferences and a large part of the audience fills out evals at the time. Then I often wonder if I’m making a difference while rarely, if ever, knowing if anyone actually used what they learned… Read more
Extended Events is supposed to be taking over for most of Profiler and server-side tracing functionality, but there were people like me out there that took their time making the switch. For me the excuse was SQL Batch Completed isn’t in 2008 / 2008 R2, most databases are slow to… Read more
There’s a trick to technical interviews. Every question is looking for integrity first, and intelligence and energy second. This is paraphrasing Warren Buffet, who became the most successful investor out there by becoming the best at interviewing the management of the companies he was investing in.