PASS Board Update: July 2015

PASS
I was actually travelling for most of July and some of that was on holiday with the family, the real family. That's why I didn't get a June update posted. I don't have anything much exciting to report. We're finally getting data out of our Chapter database and can report some interesting stuff. We've added 29 new chapters in the fiscal year of 2015. 10 in the US, 12 in EMEA, 2 in LATAM and 5 in APAC. There's a bunch more. Not sure when it's all supposed to be published, but I'll share some of it now, just 'cause. Our chapters logged 1,405 meetings in fiscal year 2015. That's a pretty serious amount of training. Well done everyone! Thanks for all your work Carmen. I missed the July board meeting…
Read More

Leadership: A Name and A Principle

Professional Development
I'm actively working to put together the leadership course that I talked about here and here. No, not full time. I still have to pay the bills with real work. But progress is going forward. I have an initial name and the principle around which we're going to do this thing: The Data Community Leadership Program will deliver a world-class platform designed to teach technology and thought leadership through direct training and mentoring in order to better grow and develop new leaders within our community. Watch this space for more about the Data Community Leadership Program. Also, this is going to be community driven and run (eventually). Feel free to provide feedback on the name and the principle.
Read More

Generating Estimated Plan and the Plan Cache

SQL Server, T-SQL
Does generating an Estimated Plan cause that plan to be loaded into the plan cache? No.   What? Still here? You want more? Proof? Fine. Let's first run this bit of code (but please, not on your production server): DBCC FREEPROCCACHE(); That will remove all plans from cache. Now, let's take this query and generate an Estimated Plan (CTL-L from your keyboard or by clicking on the "Display Estimated Execution Plan" button on the toolbar): SELECT * FROM Production.ProductModel AS pm; This will generate a trivial plan showing a scan against the Production.ProductModel table. Now, let's run another query: SELECT deqs.plan_handle FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest WHERE dest.text = 'SELECT * FROM Production.ProductModel AS pm;'; That's just an easy way to see if a plan_handle exists.…
Read More

Reading Your Execution Plans

SQL Server
I'm putting the finishing touches on the all day seminar on execution plans that I'll be putting on at DevConnections this year. I have tons of examples to show you how to interpret execution plans as part of query performance tuning. We'll be able to fill our time. However, I've got a pretty high degree of flexibility on which examples I use. With that in mind, I'd love it if you could bring in your own execution plans that you'd like some help reading. I won't guarantee a solution for your query problems, but I promise to read through it and make some suggestions. If you have an execution plan that you don't mind sharing with the group and you'd like a little consulting time on tuning the query, bring it…
Read More

PASS Needs You!

PASS
It's time. No more procrastinating. No more complaining about the process from the outside. No more excuses. You have to run for the PASS Board. The Nominations Committee is all set, off and running. We've got great people involved who are going to do their best to ensure that the community gets the right people to run for the board. However, the NomComm isn't running for the board and the NomComm can't compel people to run. It's up to you to step forward and take on this task. If you've been out there thinking that maybe you need to step up, you do. If you've been thinking that you might be able to give back a little more, you can. If you think you might be the right person to…
Read More

Differences Between Actual & Estimated Plans

SQL Server, T-SQL
I have, in the past, made way too much of the need for Actual Plans when doing performance troubleshooting. The primary reason for this is to get the Actual Plan in order to see the differences between the Actual and Estimated Row Counts as a means of understanding how the optimizer saw the data. But, is that the only thing that's different between Actual & Estimated Plans? Well, pretty much, yeah. I took two fairly average execution plans from SQL Server 2014 and ran them through Altova's XML Spy, which does XML comparisons similar to how Redgate SQL Compare will compare two data structures for you. Here is every single difference I found. Everything was additional information in the Actual Plan. In the information for the first operator, in my case,…
Read More

Hey Kids! Let’s Put on a Show at the Old Barn

Azure, Database Lifecycle Management, DevOps, PASS, SQL Server, T-SQL
Alternate Title: I'm traveling a bunch. Let's get together and talk. A bunch of trips and presentations coming up, so I thought I'd share. First, I'll be SQL Saturday Omaha for my first time ever presenting in Nebraska. I'm excited to add this state to my list (which is almost over 40 now). If you're not doing anything August 15th, let's have a chat. Next, fingers crossed, I'll get selected to fly back to my home state, Oklahoma, to go to SQL Saturday OKC. These guys put on a great event and hey, it's Oklahoma so how can it be bad. I hope they announce soon. I need to schedule my flights. This one is on August 29th. September also has several events. First, I'll be at SQL Saturday Las…
Read More

Grant’s Fly-by-night Leadership Course – The Plan

Professional Development
Get a better name Define my personal goals for the course I won’t be sharing these with you. I may share them with my Inner Circle (defined below). I’m thinking this is a 2-3 year commitment I’m making. I need to have my own set of measurements to ensure that this will be worth the time and effort that I’m putting into it. Define a set of principles and goals for the course I want this course to have meaningful aim. It’s not, absolutely not, about management. Management and Leadership are two different things. This is about being a leader. It must have a purpose. The goals defined here, and like everything else, subject to change over time, will set the tone for each of the other choices. Here's another…
Read More

SQL Server Management Studio – Footloose and Fancy Free

Azure, SQL Server
That's right. There's been a divorce. SQL Server Management Studio (SSMS) has been divorced from the server product. In fact, Microsoft is inviting you to the new SSMS coming out party. I'm pretty excited about this. While I'm very comfortable in SSMS, to a large degree, it's like that old pair of jeans that you've worn for the last 10 years. They're comfortable too. Well, maybe a little tight when you pull them on out of the wash. One of the knees is gone. The legs are frayed so much it almost looks intentional. You just noticed a hole in the bottom. The zipper is acting up... Yeah, OK. These jeans have had it. So has SSMS. The plan from Microsoft is to upgrade SSMS independently from the boxed product. In fact, since one of…
Read More

How Do You Know You’re Good At Your Job?

Professional Development
You've been working as a DBA for X number of years. How do you know you're good at it? Heck, you've been doing any sort of job for a while. How can you measure whether or not you're competent? The single best measure isn't how much work you do, your accomplishments, the number of databases designed, whatever measure you have. That's not it. The real measure, the one that counts, how do you perform when everything goes south? When that server goes offline or that database develops corruption or that SSIS package fails or, heck, you get a request to fix something that's broken, even non-technical stuff like an incorrect W-2 form (fighting this battle currently)? Did you run around like your hair was on fire? Did you sit there…
Read More