Right, I said I wouldn’t compete, but I can’t help pointing out that I’m pretty proud of this particular blog post that is in the Management and Automation category. I thinki the number one tool for automation of administration of SQL Server, and pretty much all of Microsoft’s server technologies, is PowerShell. Knowing how to execute scripts on multiple servers, asynchronously, is extremely important to a successful administration automation effort. So, please, despite what I said before, consider voting for PowerShell Remoting with SQL Server.
It’s actually kind of cool that SQL Rally voting for the pre-conference seminars and voting in the real(ish) world in the USA are coinciding. I’m in the running for the pre-con AND I’m volunteering for an actual election campaign for the first time ever.
Volunteering for the campaign is hard work. We’re walking around neighborhoods dropping off literature, which is actually enjoyable. We have to cold call people, and if you’ve never done it, it’s rather hard to describe. I did telemarketing for about 9 months in my youth, so I had a sense of what was coming. I wasn’t prepared for some of the more interesting suggestions (anatomically impossible suggestions) that I was going to receive, but there you go. Luckily, to try to get out the vote for SQL Rally, I just have to blog a bit.
Voting is almost closed, so if you haven’t voted, you really should. Polls close on Tuesday, November 2nd, at 8PM PST, about the same as the real(ish) elections.
Personally, I would like you to vote for my session. I’ve already detailed what I think you’ll get out of the session and what the session is going to be about. I haven’t mentioned why you might want to listen to me blather on about the topic of Query Performance Tuning.
In more than 20 years spent working in IT, one of the most common comments/complaints/squeals I’ve heard is “Why is the application so slow?” There are lots of possible reasons, and I’ve worked before to fix many of them, bad code, poorly written UI, improper network configurations, weak server set-ups, or the database. When it comes to the database, the number one problems, and I wish it were otherwise, are usually the code or the indexes. The fact is, they’re related. You have to lay out your indexes in support of the queries that will feed data to your applications and you have to write your queries in such a way that they’ll take advantage of your indexes. That’s why I was very excited to write the book “SQL Server 2008 Performance Tuning Distilled.” Not only did I get a chance to write about something I enjoy doing (and I really do like tuning procedures) but I got a chance to stretch my own skill set and learn new stuff. I’ve also spent lots of time presenting on this topic to user groups, at the PASS Summit, at Connections, and online at 24 Hours of PASS and other venues. The idea of the session I’m putting on is to attempt to get as much of that learning and experience as I can into one day and hand it over to you the attendee.
Ah, but will you be an attendee? What is SQL Rally you may also be asking yourself (or not, but this is my blog, I get to put thoughts in your head). It’s actually hard to describe. First off, it’s being hosted by the PASS organization. But it’s not a replacement for the PASS Summit. Instead, think of it as a scaled down Summit. Or maybe think of it as a scaled up SQL Saturday. Either way, it’s going to be a multi-day event in the spring of 2011 that will pack a ton of SQL Server, and related, learning into just a few days. It’s taking place on the East Coast so it should be a little cheaper to travel to, it’s shorter than the Summit, so you won’t be gone from work as long, but it’s still going to feature many of the same SQL Server experts you’d expect to see at the summit, just in a smaller, less expensive setting. In other words, vote for my session or not, you should go.
Not so much my special as SQL Saturday #59’s Special. These guys in NYC are pulling out all the stops. This blog post proves it. If you can make it to only one SQL Saturday in the next 5 months (I’m hosting one in 6), you should go to this.
Are you looking for opportunities to show off your elite writing skills and consumate SQL Server knowledge? Want a chance to build up the resume a bit? Are you like me and you have a hard time thinking of ideas to write about? I’ve got a solution for you. There’s a new forum over on SQL Server Central that is all about requests for articles. It’s mostly small stuff, easy one-page articles, a bit more than a blog post but a bit less than a full blown multi-page drill down. Also, if you have ideas for articles that you’d like to see someone write up, you can post them there. You should read the rules about the forum, which aren’t complicated, and then dive in.
I get the call, you get the call, everyone gets the call. “Hey, my app/procedure/query/report is running slow.” Now what do you do? You go to my full day session at SQL Rally, that’s what. Assuming you vote for it.
I didn’t post the abstract I submitted for the SQL Rally before because I thought that it would be redudant. However, since it’s not right off the voting page (unless they updated it since I voted), if you’re interested, here’s what I thought I would do for a day. If it sounds good to you, please go here and vote for it.
One of the most common problems encountered in SQL Server is the slow running query. Once a query is identified as performing poorly, DBAs and developers frequently don’t understand how to diagnose the problem and often struggle to fix the problem. This one day seminar focuses exclusively on these two topics. Attendees will learn how to identify the queries that are performing badly and learn how to fix them. We will start by learning how to gather performance metrics, both server and query metrics, using tools available directly from Microsoft such as performance monitor, DMVs and Profiler. From there we’ll move into learning how the optimizer works and how it uses statistics to determine which indexes and other database objects can assist the performance of a query. The session takes considerable time to show exactly how to generate and read execution plans, the one best mechanism for observing how the optimizer works. We’ll then look at other DMVs that can assist you when performance tuning queries. With all this knowledge gathered, we’ll move into looking at common performance problems, how they evidence themselves in the metrics and execution plans, and how to address them. Finally, we’ll explore advanced methods for solving some of the more difficult query performance problems introducing such concepts as query hints, plan guides and plan forcing. Through all of this, best practices and common techniques will be reviewed. Attendees will go home with a working knowledge of query performance tuning, a set of methods for identifying poorly performing queries, scripts to assist in these processes and the knowledge of how fix performance problems in their own systems.
Although I would prefer that you voted for me, it’s more important that you vote at all (same thing as in real life). Please go here and select the sessions that you want to see.
I’ll be presenting a practice run at one of my PASS Summit presentations, Identifying Common Performance Problems using Execution Plans, for Pragmatic Works tomorrow, October 28th. If you can’t make the Summit, please stop by.
The SQLRally, a new PASS initiative taking place in the spring, is going to be a community driven event. This includes selection of the pre-convention (precon) paid presentations through a voting process. I have a session called Query Performance Tuning, Start to Finish. It’s a one day session on everything about tuning queries.
I won’t republish the abstract and bore the heck out of you, but I will list the 5 skills I think you’ll take away with you if you attend (after voting for me):
- The ability to collect performance metrics on your servers as part of an overall query tuning methodology
- The ability to generate, read, and understand execution plans from multiple sources in support of troubleshooting poorly performance queries
- An understanding of how the optimizer works in support of writing better TSQL code as well as troubleshooting poorly performing queries
- A working knoweldge of DMOs that will help you identify and fix performance issues on your servers
- The ability to address common query performance problems
The thing is, query performance frequently comes down to just a handful of common problems.If you learn how to identify which queries are running slowly, and how to discern which of the common problems you’re running into, you’ll almost always know how to fix the query, whether it’s restructuring it, rewriting it, or simply adding or modifying indexes in support of the badly performing query.
Please, if this sounds interesting, go and vote for it. If not, please go and vote anyway so that the community’s voice is heard.