Cape Cod .NET Users Group

PASS
Tomorrow night, Wednesday, September 23, I'm going to present on "Best Practices for Working with SQL Server Execution Plans" for the Cape Cod .NET User's Group.  It's basically a rehearsal for the presentation that I'll be doing at the 2009 PASS Summit in just 5 weeks. Can you believe it's already almost here? I'm so jazzed. This year is going to be a great summit. I can't wait to see everyone again... I... Where was I, oh yeah, come down to Hyannis if you can make it. It should be a fun evening. Not quite as good as the Summit, but a good time.
Read More

Gila Monster on Estimated vs. Actual Row Counts

SQL Server, T-SQL
I don't generally do lots of blog aggregation and cross post linking & stuff. It's just not something I'm that into. However, this time is an exception. Gail Shaw, Gila Monster to those who hang on out SQL Server Central, has posted an excellent explanation of times when Estimated and Actual row counts vary for a reason. I'm one of those who emphasises that differences between estimated & actual is an indication of... something. It could be out of date or missing statistics or it could be caused by query language like multi-statement table valued functions, but it's usually and indication of a problem. Except when it's not. Read Gail's explanation for more.
Read More

Identifying Frequently Running Queries

SQL Server, T-SQL
It's not enough to look at the longest running query. What if you have two queries, one runs for 5 minutes and the other runs for 5 seconds. Which do you tune? The first one, of course. But, let's add a little information to our thought experiment. The one that runs for 5 minutes is called 2AM, your local time, when there are almost no users on the system and the one that runs for 5 seconds is called 40 times a minute all day long. Now, which one do you tune? That's right, suddenly that 5 second query takes on a HUGE significance based on how often it's called. But how do you know how often a query is called? The easiest way to gather that information is not…
Read More

More Free Training

SQL Server, T-SQL
Quest Connect 2009, taking place in October 21 for 24 hours, looks like it's going to have 64 different sessions, live and recorded, by a variety of the names in the industry. It's another chance to dig in and learn the details on a variety of topics from some of the top names in the business. Can you say Tom LaRock? How about Tim Ford? I know you want to hear from Brent Ozar. Those are just some of the featured speakers. There are a whole slew of others, it's worth pursuing, and did I mention, the price is right. I recorded a session for them last night. It's on the basics of understanding execution plans.
Read More

No Join Predicate

SQL Server, T-SQL
You could be looking at an execution plan on a query and see this message: Warning, No Join Predicate. With a very few exceptions (very few), that's not a warning, like "Mind the gap" or "Your Mileage May Vary" or "Never fight a land war in Asia." No. It's a screaming shout saying "BY ALL THE GODS IN VALHALA, YOU DON'T HAVE ANY JOIN PREDICATES IN THIS QUERY!" Seriously, that's exactly what it says. But, you might be asking yourself, that's what it says, but what does it mean? Please allow me to explain. The tables in your system, whether it's a classic BI star schema, or a highly normalized OLTP system, or even (shudder) ORM objects, are related to one another. Usually they're related through the use of primary…
Read More

Editorial on SQL Server Central

Misc, Tools
My first one over there. It's discussing whether or not you should do two things, build your own monitoring tool, come out in particular favor of one tool or suite of tools from a single vendor. Please read it and watch the video. And, even more importantly, leave a comment in the discussion.
Read More

LaRock on Monitoring

SQL Server, T-SQL
Since I just spent a bit more than half of my 24 Hours of PASS presentation on tuning queries talking about monitoring performance, you could probably tell that I think that the two are inextricably linked. I'm not alone. Tom LaRock has put a post on why it's important to understand the extent of your problem prior to attempting to fix it. It's absolutely spot-on and a must read. Remember, if someone says performance on a system you manage is slow, you have to ask, as compared to what? You need to understand what "normal" performance is on your system in order to arrive at the ability to identify a particular process as performing in an abnormal manner. That's not to say that you couldn't tune a query in complete…
Read More

Spools in Execution Plans

SQL Server, T-SQL
I got the question the other day, when are you likely to see a spool in an execution plan? Easy, whenever SQL Server needs to walk through the data multiple times, usually in JOIN operations... Yeah, well, once again, my flip answers are not quite the entire story. Spool operations are temporary storage of the data for later reuse in a query plan. There are two types of spool operations, eager spool and lazy spool. A spool is basically a temporary table created within the execution of the query that is used when it's likely that data will be needed again, and again during the execution of the query. This is not an explicit #temp temporary table, but a work table for operations within the processing necessary for a given query's…
Read More

Debuting: Beginning SQL Server 2008 Administration

Uncategorized
The new book is up on Amazon. I only worked on three chapters of Rob Walter's new book and that was after begging to only work on two, so I can't take much credit for the effort that went into this book. However, thanks to our editor Jonathan Gennick, I was privileged to work with Rob & Carmen, if pretty indirectly. I know I mentioned the book before when it was put up on the Apress web site, but this is Amazon. Once it's up on Amazon, it's real.
Read More

24 Hours of PASS

PASS, SQL Server, T-SQL
This was a pretty cool event. The advertising leading up to it seemed to really cover the community very well. There was even a link to 24 Hours of PASS in my team's local web site. Unfortunately, I'm not an iron man like Tom LaRock, watching all 24 hours. I only hit a few sessions. The first session I hit was Allen White's PowerShell for SQL Server. I have attended a couple of  his presentations at the PASS Summit. I think he's done a great job of gleaning better and better examples out of his presentations. This one was good. I loved the way he put together the backup processes for automating backups. It looked good, took into account common issues, it just worked. I was really happy I got…
Read More